:root {
  --color-accent: #9c6f3d;
  --color-background: #f4ede4;
  --color-border: #d4c2ad;
  --color-foreground: #201814;
  --color-surface: #fbf7f2;
  --color-hero: #1a1c22;
  --color-hero-edge: #1c1615;
  --color-hero-card: #352d29;
  --color-accent-soft: #ba9b77;
  --color-border-soft: #e4d8ca;
  --font-body: "IBM Plex Sans Hebrew", sans-serif;
  --font-heading: "Noto Serif Hebrew", serif;
  --shadow-panel: 0 26px 80px rgba(32, 24, 20, 0.12);
  --radius-panel: 34px;
}

* { box-sizing: border-box; }
html { background: var(--color-background); color: var(--color-foreground); }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--color-foreground);
  background:
    radial-gradient(circle at top right, rgba(156, 111, 61, 0.12), transparent 24%),
    radial-gradient(circle at left 20%, rgba(32, 24, 20, 0.05), transparent 28%),
    linear-gradient(180deg, #fbf7f2, #f4ede4);
}
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
img { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }
.page-shell { max-width: 1200px; margin: 0 auto; padding: 24px 20px 80px; }
.site-header { margin-bottom: 34px; }
.header-main {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px 28px;
  padding: 18px 24px;
  border: 1px solid rgba(212, 194, 173, 0.55);
  border-radius: 28px;
  background: rgba(251, 247, 242, 0.86);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 34px rgba(32, 24, 20, 0.06);
}
.brand-lockup { display: grid; gap: 4px; justify-items: start; }
.brand-name { margin: 0; font-family: var(--font-heading); font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.1; }
.brand-tagline { margin: 0; color: rgba(32, 24, 20, 0.72); }
.site-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.site-nav a { text-decoration: none; padding-bottom: 6px; border-bottom: 1px solid transparent; color: rgba(32, 24, 20, 0.82); }
.site-nav a[aria-current="page"] { color: var(--color-foreground); border-color: var(--color-accent); }
.header-cta, .button-primary, .button-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 999px; text-decoration: none; font-weight: 700; transition: transform 140ms ease, box-shadow 140ms ease, background-color 140ms ease, color 140ms ease; }
.header-cta,
.button-primary { background: var(--color-accent); color: #fbf7f2; box-shadow: 0 10px 26px rgba(156, 111, 61, 0.26); }
.button-secondary { border: 1px solid rgba(212, 194, 173, 0.7); background: transparent; }
.button-secondary--inverted { border-color: rgba(251, 247, 242, 0.34); color: #fbf7f2; }
.header-cta:hover, .button-primary:hover, .button-secondary:hover { transform: translateY(-1px); }
.stack { display: grid; gap: 28px; }
.hero-panel,
.section-shell,
.article-shell { border-radius: var(--radius-panel); box-shadow: var(--shadow-panel); }
.hero-panel {
  padding: clamp(28px, 5vw, 52px);
  color: #fbf7f2;
  background:
    radial-gradient(circle at top left, rgba(156, 111, 61, 0.26), transparent 32%),
    linear-gradient(135deg, var(--color-hero), var(--color-hero-edge));
}
.hero-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.95fr); gap: 24px; align-items: start; }
.hero-main h1, .section-heading, .article-shell h1, .practice-card h3, .article-card h3, .faq-card h3 { margin: 0; font-family: var(--font-heading); line-height: 1.04; }
.hero-main h1 { font-size: clamp(3rem, 8vw, 5.6rem); max-width: 8ch; }
.hero-eyebrow, .eyebrow { margin: 0 0 10px; color: rgba(156, 111, 61, 0.92); font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; }
.eyebrow--light { color: rgba(251, 247, 242, 0.72); }
.hero-copy, .section-copy, .section-prose p, .article-prose p, .article-card p, .practice-card p, .faq-card p, .trust-card p { line-height: 1.85; }
.hero-copy { max-width: 34rem; margin: 0; color: rgba(251, 247, 242, 0.82); font-size: 1.08rem; }
.hero-chip-list, .button-row, .hero-facts, .practice-grid, .trust-grid, .article-grid, .faq-grid, .footer-grid { display: grid; gap: 16px; }
.hero-chip-list { grid-template-columns: repeat(auto-fit, minmax(150px, max-content)); margin-top: 10px; }
.hero-chip-list span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(251, 247, 242, 0.14); background: rgba(251, 247, 242, 0.08); color: rgba(251, 247, 242, 0.9); }
.button-row { grid-auto-flow: column; justify-content: start; align-items: center; margin-top: 8px; }
.hero-side { padding: 24px; border: 1px solid rgba(156, 111, 61, 0.18); border-radius: 26px; background: rgba(53, 45, 41, 0.92); }
.hero-side-kicker { margin: 0 0 10px; color: rgba(251, 247, 242, 0.66); letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.78rem; }
.hero-side h2 { margin: 0 0 18px; font-family: var(--font-heading); font-size: clamp(1.35rem, 3vw, 2rem); line-height: 1.15; }
.hero-side-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; color: rgba(251, 247, 242, 0.84); }
.hero-side-list li { padding-top: 12px; border-top: 1px solid rgba(251, 247, 242, 0.12); }
.hero-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(251, 247, 242, 0.16); }
.hero-fact strong { display: block; font-size: clamp(1.8rem, 3vw, 2.6rem); font-family: var(--font-heading); color: rgba(156, 111, 61, 0.96); }
.hero-fact span { color: rgba(251, 247, 242, 0.68); }
.section-shell { padding: clamp(24px, 4vw, 40px); border: 1px solid rgba(212, 194, 173, 0.46); background: rgba(251, 247, 242, 0.92); }
.section-shell--split, .section-shell--contact, .section-shell--reading { display: grid; grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr); gap: 24px; }
.section-shell--contrast, .section-shell--cta { color: #fbf7f2; border-color: transparent; background: linear-gradient(135deg, #1c1615, #1a1c22); }
.section-shell--cta { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px; }
.section-shell--articles .section-link { align-self: end; }
.section-heading-row { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.section-heading { font-size: clamp(1.9rem, 4vw, 3.2rem); }
.section-heading--light, .section-copy--light { color: #fbf7f2; }
.section-copy { margin: 0; color: rgba(32, 24, 20, 0.74); }
.section-link { color: var(--color-accent); font-weight: 700; text-decoration: none; }
.practice-grid, .trust-grid, .faq-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.practice-card, .trust-card, .article-card, .faq-card { padding: 22px; border-radius: 24px; border: 1px solid rgba(212, 194, 173, 0.5); background: linear-gradient(180deg, rgba(251, 247, 242, 0.96), rgba(244, 237, 228, 0.88)); }
.trust-card { background: rgba(251, 247, 242, 0.08); border-color: rgba(251, 247, 242, 0.12); }
.card-index { margin: 0 0 14px; color: var(--color-accent); font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; }
.practice-card h3, .article-card h3, .faq-card h3 { font-size: clamp(1.2rem, 2.6vw, 1.8rem); margin-bottom: 10px; }
.article-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.article-card { grid-column: span 4; display: grid; gap: 12px; align-content: start; }
.article-card--featured { grid-column: span 6; }
.article-card a { text-decoration: none; }
.contact-form { display: grid; gap: 16px; }
.form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-form label { display: grid; gap: 8px; font-weight: 600; }
.field-span { grid-column: 1 / -1; }
.contact-form input, .contact-form textarea { width: 100%; padding: 14px 16px; border: 1px solid rgba(212, 194, 173, 0.72); border-radius: 18px; background: #fffdf9; color: var(--color-foreground); }
.contact-form textarea { min-height: 180px; resize: vertical; }
.turnstile-field { display: grid; gap: 10px; }
.turnstile-note, .form-status { min-height: 1.2em; color: rgba(32, 24, 20, 0.72); }
.section-prose { display: grid; gap: 18px; max-width: 54rem; }
.article-shell { display: grid; gap: 24px; max-width: 860px; margin: 0 auto; }
.article-hero { padding: clamp(24px, 4vw, 36px); border-radius: 28px; color: #fbf7f2; background: linear-gradient(135deg, #1c1615, #1a1c22); }
.article-meta { margin: 10px 0 0; color: rgba(251, 247, 242, 0.7); }
.article-prose { padding: clamp(24px, 4vw, 36px); border-radius: 28px; border: 1px solid rgba(212, 194, 173, 0.48); background: rgba(251, 247, 242, 0.94); }
.article-source { margin: 0; color: rgba(32, 24, 20, 0.66); }
.site-footer { margin-top: 40px; padding-top: 26px; border-top: 1px solid rgba(212, 194, 173, 0.72); }
.footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 16px; }
.footer-title { margin: 0 0 8px; font-weight: 700; }
.footer-copy, .footer-note { margin: 0; color: rgba(32, 24, 20, 0.72); }
@media (max-width: 980px) {
  .header-main,
  .hero-layout,
  .section-shell--split,
  .section-shell--contact,
  .section-shell--reading { grid-template-columns: 1fr; }
  .site-nav { justify-content: start; }
  .hero-main h1 { max-width: none; }
  .article-card, .article-card--featured { grid-column: span 12; }
  .footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .page-shell { padding-inline: 16px; padding-top: 18px; }
  .button-row, .hero-facts, .form-grid { grid-template-columns: 1fr; grid-auto-flow: row; }
  .header-main { padding: 16px; }
  .hero-chip-list { grid-template-columns: 1fr; }
  .practice-grid, .trust-grid, .faq-grid { grid-template-columns: 1fr; }
}