/* Shared primitives and constrained layouts. No fonts or frontend frameworks. */
.nlc-block.nlc-bg-ink .nlc-block {
  color: var(--nlc-on-dark);
}
.nlc-block.nlc-bg-ink .nlc-text-panel > p,
.nlc-block.nlc-bg-ink .nlc-service-card p,
.nlc-block.nlc-bg-ink .nlc-section-heading > p {
  color: var(--nlc-on-dark);
}
.nlc-block.nlc-bg-accent .nlc-block,
.nlc-block.nlc-bg-accent .nlc-text-panel > p {
  color: var(--nlc-on-accent);
}
.nlc-bg-accent em,
.nlc-bg-accent .nlc-eyebrow {
  color: var(--nlc-on-accent);
}
.nlc-bg-accent .nlc-eyebrow > span {
  background: currentColor;
}
.nlc-block {
  font-family: var(--nlc-body-font, Arial, sans-serif);
  color: var(--nlc-ink, #20221f);
  line-height: 1.65;
  min-width: 0;
}
.nlc-block h1,
.nlc-block h2,
.nlc-block h3 {
  font-family: var(--nlc-heading-font, inherit);
}
.nlc-block em {
  font-style: normal;
}
.nlc-block .wp-block-columns {
  margin: 0;
}
.nlc-block .wp-block-column {
  min-width: 0;
}
.nlc-block .wp-block-group {
  min-width: 0;
}
.nlc-block .wp-block-button__link {
  border-radius: 7px;
}
.nlc-block .wp-block-buttons {
  gap: 12px;
}
.nlc-block a:focus-visible,
.nlc-block button:focus-visible,
.nlc-block input:focus-visible {
  outline: 3px solid var(--nlc-focus, #285ba5);
  outline-offset: 5px;
}
.nlc-block .nlc-media-consent {
  font-size: 13px;
}
.nlc-block .nlc-media-consent a {
  text-decoration: underline;
}
.nlc-block [hidden] {
  display: none !important;
}
.nlc-block.nlc-bg-paper {
  background: var(--nlc-paper);
  color: var(--nlc-ink);
}
.nlc-block.nlc-bg-soft {
  background: var(--nlc-soft);
  color: var(--nlc-ink);
}
.nlc-block.nlc-bg-accent {
  background: var(--nlc-accent);
  color: var(--nlc-on-accent);
}
.nlc-block.nlc-bg-ink {
  background: var(--nlc-ink);
  color: var(--nlc-on-dark);
}
.nlc-block.nlc-bg-tint {
  background: var(--nlc-tint);
  color: var(--nlc-ink);
}
.nlc-bg-ink .nlc-eyebrow,
.nlc-bg-ink .nlc-intro-description,
.nlc-bg-ink h2,
.nlc-bg-ink h3 {
  color: var(--nlc-on-dark);
}
.nlc-bg-ink em {
  color: var(--nlc-accent-light);
}
.nlc-bg-ink .nlc-text-link {
  color: var(--nlc-on-dark);
}
.nlc-benefits-grid {
  grid-template-columns: repeat(var(--nlc-count, 5), minmax(0, 1fr));
}
.nlc-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.nlc-form-result.nlc-error {
  border-color: #a02626;
}
.nlc-button:disabled {
  cursor: wait;
  opacity: 0.65;
}
.nlc-section {
  position: relative;
  isolation: isolate;
}
.nlc-spacing-none {
  padding-block: 0;
}
.nlc-spacing-compact {
  padding-block: 48px;
}
.nlc-spacing-standard {
  padding-block: 80px;
}
.nlc-spacing-large {
  padding-block: 112px;
}
.nlc-section-photo {
  background-image:
    linear-gradient(rgb(0 0 0 / var(--nlc-section-overlay, 0)), rgb(0 0 0 / var(--nlc-section-overlay, 0))),
    var(--nlc-section-image);
  background-size: cover;
  background-position: center;
}
.nlc-layout-halves,
.nlc-layout-thirds,
.nlc-layout-wide-left,
.nlc-layout-wide-right {
  display: grid;
  gap: 40px;
}
.nlc-layout-halves {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nlc-layout-thirds {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.nlc-layout-wide-left {
  grid-template-columns: 1.4fr 1fr;
}
.nlc-layout-wide-right {
  grid-template-columns: 1fr 1.4fr;
}
.nlc-title-compact h2,
.nlc-title-compact h3 {
  font-size: clamp(34px, 3.5vw, 56px);
}
.nlc-introduction .nlc-intro-description {
  font-size: 17px;
  color: var(--nlc-muted);
  margin-top: 24px;
}
.nlc-card-copy .nlc-text-link {
  margin-top: 19px;
}
.nlc-visual {
  min-width: 0;
}
.nlc-stat-card .nlc-photo {
  height: 360px;
  border-radius: var(--nlc-radius) var(--nlc-radius) 0 0;
}
.nlc-security-label {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  background: #fffdf5f5;
  border-radius: 8px;
  padding: 22px 25px;
  font-size: 25px;
  line-height: 1.25;
  letter-spacing: -0.04em;
}
.nlc-native-columns {
  display: grid !important;
  gap: inherit !important;
}
.nlc-native-columns > .wp-block-column {
  margin: 0 !important;
}
.nlc-box-grid {
  display: grid !important;
  gap: 26px !important;
}
.nlc-easy-grid {
  display: grid !important;
}
.nlc-legal-prose {
  max-width: 900px;
  margin-inline: auto;
  padding-block: 40px 100px;
}
.nlc-legal-prose p {
  margin-bottom: 24px;
}
.nlc-legal-prose h2 {
  font-size: 32px;
  margin-block: 40px 20px;
}
@media (max-width: 760px) {
  .nlc-layout-halves,
  .nlc-layout-thirds,
  .nlc-layout-wide-left,
  .nlc-layout-wide-right {
    grid-template-columns: 1fr;
  }
  .nlc-spacing-standard {
    padding-block: 60px;
  }
  .nlc-spacing-large {
    padding-block: 76px;
  }
  .nlc-native-columns {
    grid-template-columns: 1fr !important;
  }
  .nlc-title-compact h2 {
    font-size: 40px;
  }
}
@media (max-width: 600px) {
  .nlc-box-grid {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }
  .nlc-stat-card .nlc-photo {
    height: 290px;
  }
  .nlc-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nlc-security-label {
    left: 20px;
    right: 20px;
    bottom: 20px;
    font-size: 28px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .nlc-block *,
  .nlc-block *::before,
  .nlc-block *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
