html, body { margin: 0; }
html { overflow-x: clip; scroll-behavior: smooth; }
@keyframes hope-drawer {
  from { transform: translateX(100%); }
  to { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .o-header.nav-open .o-nav,
  .r-header.nav-open .r-nav { animation: none; }
}
html[data-view="original"] body { background: #fff; }
html[data-view="redesign"] body { background: #fff; }
.view-original { display: block !important; }
html[data-view="original"] .view-redesign { display: none !important; }
.view-original section[id],
.view-redesign section[id] { scroll-margin-top: 96px; }
.view-original h1, .view-original h2, .view-original h3,
.view-redesign h1, .view-redesign h2, .view-redesign h3 { text-wrap: balance; }
.view-original p, .view-redesign p { text-wrap: pretty; }
.view-original a, .view-redesign a { overflow-wrap: anywhere; }
.view-original .o-about > *,
.view-original .o-contact-copy,
.view-redesign .r-hero-grid > *,
.view-redesign .r-about > *,
.view-redesign .r-contact-grid > *,
.view-redesign .r-referral > * { min-width: 0; }
body.nav-lock { overflow: hidden; }
.nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(16, 24, 36, 0.46);
}
.nav-open ~ .nav-overlay,
header.nav-open + .nav-overlay { display: block; }
.nav-close {
  display: none;
  align-self: flex-end;
  width: 44px;
  height: 44px;
  margin-bottom: 8px;
  border: 0;
  border-radius: 12px;
  background: #eef2f6;
  color: #17324f;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
html:has(header.nav-open) .switcher { visibility: hidden; }
@media (max-width: 980px) {
  .view-redesign .nav-close { display: inline-flex; align-items: center; justify-content: center; }
}
@media (max-width: 860px) {
  .view-original .nav-close { display: inline-flex; align-items: center; justify-content: center; }
}
:focus-visible { outline: 2px solid #1f7a4d; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

.switcher {
  position: fixed;
  z-index: 80;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(18, 32, 51, 0.08);
  border-radius: 999px;
  box-shadow: 0 12px 40px rgba(16, 28, 48, 0.18);
  backdrop-filter: blur(10px);
}

.switcher span {
  padding: 0 10px 0 12px;
  font-family: Manrope, Poppins, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5d6b7a;
}

.switcher button {
  appearance: none;
  border: 0;
  background: transparent;
  color: #1a3757;
  font-family: Manrope, Poppins, sans-serif;
  font-size: 13px;
  font-weight: 700;
  padding: 9px 14px;
  border-radius: 999px;
  cursor: pointer;
}

.switcher button[aria-pressed="true"] {
  background: #1a3757;
  color: #fff;
}

.sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

@media (max-width: 640px) {
  .switcher {
    width: calc(100% - 20px);
    justify-content: center;
  }

  .switcher span { display: none; }
}
