/* Cursor copy: optical centering for all four process glyphs. */
.wn-step-icon::before {
  transform: translateY(2px);
}

/* Cursor copy: section links use the primary button treatment and stable spacing. */
.wn-process .wn-text-button,
.wn-technologies .wn-text-button {
  min-height: 42px;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 12px 0 20px;
  padding: 10px 20px;
  border: 1px solid var(--wn-green);
  border-radius: 8px;
  background: var(--wn-green);
  color: #ffffff !important;
  box-shadow: 0 8px 22px rgba(0, 102, 79, .18);
  font-size: .82rem;
  font-weight: 750;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.wn-process .wn-text-button:hover,
.wn-technologies .wn-text-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(0, 42, 37, .24);
}

html[data-aorta-theme="dark"] .wn-process .wn-text-button,
html[data-aorta-theme="dark"] .wn-technologies .wn-text-button {
  color: #10251e !important;
}

/* Cursor copy: compact brand lockup in the global footer. */
.wn-site-footer .wn-brand-name {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  line-height: 1;
}

.wn-site-footer .wn-brand-name::before {
  content: "";
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  background: currentColor;
  -webkit-mask: url("/pub/api/files/download/WN_logo-knot-light.webp/6ad9f9ca81e4e9ad1137e8b2") center / contain no-repeat;
  mask: url("/pub/api/files/download/WN_logo-knot-light.webp/6ad9f9ca81e4e9ad1137e8b2") center / contain no-repeat;
}

/* Main navigation: every entry has the same box, with or without a submenu, so hovering
   from one to the next moves nothing. The submenu hangs at the bottom of its entry, and its
   padding bridges the gap so the pointer can reach it without the menu closing. */
.wn-nav-links { align-items: stretch; }
.wn-nav-links > .wn-nav-link,
.wn-nav-dropdown > .wn-nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 10px;
  line-height: 1;
  white-space: nowrap;
}
.wn-nav-dropdown { display: flex; align-items: stretch; }
.wn-dropdown {
  top: 100%;
  margin-top: 0;
}
.wn-dropdown::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -8px;
  height: 8px;
}

/* WN legal pages: readable rhythm for longer clauses and privacy information. */
.wn-legal > p:not(.wn-note):not(.wn-draft) {
  margin-bottom: 0.9rem;
}
.wn-legal > h2 {
  scroll-margin-top: 1.5rem;
}
.wn-legal > .wn-inline-link {
  display: inline-flex;
  margin: -0.25rem 0 0.9rem;
}
.wn-legal .wn-draft {
  margin-bottom: 1.4rem;
}

/* Content and service pages: German hyphenation (site lang is de), no overflowing long words,
   balanced headings and paragraphs without a lonely last word. Line breaks typed into a
   paragraph or list item are shown (pre-line keeps newlines, still collapses spaces). */
.wn-layout-content,
.wn-layout-landing {
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}
.wn-layout-content :is(h1, h2, h3),
.wn-layout-landing :is(h1, h2, h3) {
  text-wrap: balance;
}
.wn-layout-content :is(p, li),
.wn-layout-landing :is(p, li) {
  text-wrap: pretty;
  white-space: pre-line;
}

/* Footer: the brand block spans the full width above the link columns, the white logo
   centered over the wordmark; the link columns sit tighter. */
.wn-site-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 36px; }
.wn-site-footer-grid > .wn-site-footer-brand {
  grid-column: 1 / -1;
  align-items: center;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(244, 255, 251, .18);
  text-align: center;
}
.wn-site-footer .wn-site-footer-brand .wn-brand-name {
  flex-direction: column;
  gap: 12px;
  margin-bottom: 10px;
}
.wn-site-footer .wn-site-footer-brand .wn-brand-name::before {
  width: 56px;
  height: 56px;
  flex-basis: 56px;
  background: #ffffff;
}
.wn-site-footer h2 { margin-bottom: 6px; }
.wn-site-footer a { padding: 2px 0; line-height: 1.3; }
@media (max-width: 720px) {
  .wn-site-footer-grid { grid-template-columns: 1fr; }
}
