/* Local offline adjustments for review before publishing. */
@font-face {
  font-family: "Assistant Local";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/assistant-400.ttf") format("truetype");
}

@font-face {
  font-family: "Assistant Local";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/assistant-500.ttf") format("truetype");
}

@font-face {
  font-family: "Assistant Local";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/assistant-600.ttf") format("truetype");
}

@font-face {
  font-family: "Assistant Local";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/assistant-700.ttf") format("truetype");
}

@font-face {
  font-family: "Frank Ruhl Libre Local";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/frank-500.ttf") format("truetype");
}

@font-face {
  font-family: "Frank Ruhl Libre Local";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/frank-600.ttf") format("truetype");
}

@font-face {
  font-family: "Frank Ruhl Libre Local";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/frank-700.ttf") format("truetype");
}

.lang-he {
  font-family: "Assistant Local", var(--font-heebo), Arial, sans-serif;
}

.lang-he h1,
.lang-he h2,
.lang-he h3,
.lang-he .brand strong,
.lang-he .nav-links,
.lang-he .mobile-jump-nav,
.lang-he .panel-note strong,
.lang-he .conversation-card h2 {
  font-family: "Frank Ruhl Libre Local", "Assistant Local", serif;
  font-weight: 600;
}

.lang-he .nav-links,
.lang-he .mobile-jump-nav {
  font-weight: 600;
}

.lang-he .hero h1 {
  font-weight: 700;
  line-height: 0.98;
}

.lang-he .section h2,
.lang-he .contact-copy h2 {
  line-height: 1.12;
}

.lang-he .lead,
.lang-he .section p,
.lang-he .contact-copy p {
  font-weight: 400;
}

html {
  scroll-padding-top: 132px;
}

.hero {
  isolation: auto;
  padding-top: 132px;
  z-index: auto;
}

.hero::before {
  z-index: -1;
}

.site-shell {
  isolation: isolate;
}

.topbar {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  width: min(calc(100% - clamp(36px, 10vw, 144px)), 1180px);
  margin: 0;
  padding: 18px clamp(14px, 2vw, 22px);
  background: color-mix(in srgb, var(--background) 88%, white 12%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 12px 34px rgba(24, 33, 38, 0.08);
}

.topbar::before {
  content: "";
  position: absolute;
  inset: 0 calc(50% - 50vw);
  z-index: -1;
  background: inherit;
  border-bottom: inherit;
}

.mobile-jump-nav {
  position: fixed;
  top: 92px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  width: min(calc(100% - 36px), 1180px);
  margin: 0;
  padding: 8px 0;
  background: color-mix(in srgb, var(--background) 86%, white 14%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}

.section,
.contact-section {
  position: relative;
  z-index: 1;
  scroll-margin-top: 132px;
}

.topbar,
.mobile-jump-nav {
  position: fixed;
  isolation: isolate;
}

.topbar {
  z-index: 2147483647;
}

.mobile-jump-nav {
  z-index: 2147483646;
}

.about-copy {
  position: static;
  top: auto;
  z-index: auto;
}

@media (width <= 900px) {
  html {
    scroll-padding-top: 160px;
  }

  .hero {
    padding-top: 160px;
  }

  .topbar {
    align-items: center;
    width: calc(100% - 32px);
    padding: 12px 0;
  }

  .topbar-actions {
    gap: 10px;
  }

  .mobile-jump-nav {
    top: 82px;
    padding: 8px 0;
  }

  .section,
  .contact-section {
    scroll-margin-top: 160px;
  }
}

@media (width <= 520px) {
  html {
    scroll-padding-top: 170px;
  }

  .hero {
    padding-top: 170px;
  }

  .topbar {
    gap: 10px;
    width: calc(100% - 24px);
  }

  .brand {
    gap: 8px;
  }

  .brand strong {
    font-size: 0.92rem;
  }

  .brand small {
    font-size: 0.78rem;
  }

  .language-switcher button {
    min-width: 58px;
    padding: 7px 9px;
  }

  .mobile-jump-nav {
    top: 80px;
    width: calc(100% - 24px);
  }

  .section,
  .contact-section {
    scroll-margin-top: 170px;
  }
}
