/* NUWM public site — shared tokens, type, and page shell.
   Background stays the existing identity pattern, not the template SVG. */

:root {
  /* Brandbook: Pantone 302, Cool Gray 10C, Pantone Orange 021.
     Tints are those inks mixed with white. */
  --navy: #003a5d;
  --navy-80: #33617d;
  --navy-40: #99b0be;
  --navy-20: #ccd8df;
  --navy-10: #e6ebef;
  --navy-5: #f2f5f7;
  --navy-600: var(--navy-80);
  --navy-700: var(--navy);
  --navy-tint-2: var(--navy-5);
  --navy-tint: var(--navy-tint-2);
  --orange: #ff5200;
  --orange-hover: #ff7533;
  --cyan: #3c77ac;
  --cyan-bright: #598bb8;
  --gray: #636569;
  --gray-2: #929396;
  --line: #e0e0e1;
  --line-soft: #eff0f0;
  --ink: #003a5d;
  --paper: #fff;
  --sans: "Inter", system-ui, sans-serif;
  --serif: "Literata", Georgia, serif;
  --shell: 1340px;
  --shell-pad: 40px;
  --r: 12px;
}

.nu-pattern-filter {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

body.nu-site {
  margin: 0;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  background: transparent !important;
}

/* Pasted CMS font-family (Word, TinyMCE) must not replace the brandbook pair. */
.nu-main :is(.pg-body, .nw-body, .blog_dtl_content) [style*="font-family"]:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  font-family: var(--sans) !important;
}

.nu-main :is(.pg-body, .nw-body, .blog_dtl_content) :is(h1, h2, h3, h4, h5, h6),
.nu-main :is(.pg-body, .nw-body, .blog_dtl_content) :is(h1, h2, h3, h4, h5, h6) [style*="font-family"] {
  font-family: var(--serif) !important;
}

body.nu-site::before {
  content: "";
  position: fixed;
  inset: 0;
  opacity: 0.25;
  zoom: 1.7;
  z-index: -1;
  pointer-events: none;
  background-color: #fff;
  /* background-image: url("/static/template/images/pattern_bg_website2.jpg"); */
  background-image:none;
  background-repeat: repeat;
  background-size: 280px 280px;
  background-position: top left;
  filter: url("#nu-pattern-ink");
}

.nu-shell.container-wrapper {
  max-width: var(--shell);
  margin: 0 auto 20px;
  padding-left: var(--shell-pad);
  padding-right: var(--shell-pad);
  box-sizing: border-box;
  background: var(--paper);
  box-shadow: none;
}

.nu-shell .container-wrapper {
  max-width: none;
  margin: 0;
  background: transparent;
  box-shadow: none;
  min-height: 0;
}

.nu-wrap {
  width: 100%;
  max-width: var(--shell);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--shell-pad);
  padding-right: var(--shell-pad);
  box-sizing: border-box;
}

/* Shell already has side padding — don't double-inset nested wraps. */
.nu-shell .nu-wrap {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 980px) {
  :root {
    --shell-pad: 22px;
  }

  .nu-shell.container-wrapper {
    max-width: none;
    box-shadow: none;
  }
}
