/* Local, editable improvements. Vendor CSS remains in assets/. */
.skip-link {
  position: fixed;
  left: 1rem;
  top: -10rem;
  z-index: 10000;
  padding: 0.75rem 1rem;
  background: #fff;
  color: #12392d;
}
.skip-link:focus { top: 1rem; }
img:where([data-seo-intrinsic]) { width: auto; height: auto; }

/* This reviewed first-screen container must not wait for Webflow to appear.
   Keep the heart's own animation, transforms and other hidden states intact. */
[data-semap-critical-content="home-hero"] { opacity: 1 !important; }
[data-semap-visible-entry] { opacity: 1 !important; }

/* Keep original appearance while correcting document heading levels.
   These selectors have the specificity of an HTML tag, so the original
   component classes (including .heading-10) continue to take precedence. */
h2:where([data-seo-original-heading="h3"]) {
  width: auto;
  margin-top: 0;
  margin-bottom: 10px;
  font-family: ivyjournal, sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 30px;
}
h2:where([data-seo-original-heading="h4"]),
h3:where([data-seo-original-heading="h4"]) {
  width: auto;
  margin-top: 0;
  margin-bottom: 10px;
  font-family: ivyjournal, sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 150%;
}
a[data-seo-author] { color: inherit; text-decoration: none; }
a[data-seo-author]:hover, a[data-seo-author]:focus-visible { text-decoration: underline; }

/* Principal navigation is independent of the deferred Webflow nav plugin.
   Existing navbar colors, spacing, brand, links and icons remain vendor styled. */
.semap-nav { position: relative; z-index: 1000; }
.semap-nav::before, .semap-nav::after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}
.semap-nav::after { clear: both; }
.semap-nav .w-nav-menu { display: flex; }
.semap-nav :where(.w-nav-button) {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: inherit;
}
.semap-nav .w-nav-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -4px;
}
.semap-nav .w-nav-button[hidden],
.semap-nav .w-nav-overlay[hidden],
.semap-nav [data-semap-menu-panel][hidden] { display: none !important; }

@media screen and (max-width: 991px) {
  .semap-nav .w-nav-button { display: block; }
  .semap-nav:not([data-menu-ready]) > .div-block { flex-wrap: wrap; }
  .semap-nav:not([data-menu-ready]) .w-nav-menu {
    position: static;
    width: 100%;
  }
  /* Alias the original over-right rules after opting out of late Webflow init.
     Width/height are measured by the early controller exactly as the original:
     measure in the original parent, then move the panel into its overlay. */
  .semap-nav[data-animation="over-right"] .w-nav-overlay { width: auto; }
  .semap-nav[data-animation="over-right"] .w-nav-overlay,
  .semap-nav[data-animation="over-right"] [data-nav-menu-open] {
    z-index: 1;
    top: 0;
    left: auto;
  }
}

