/* ============================================================
   NP Environmental — brand override for the Arkdin (home-v2) theme.
   Loaded AFTER /assets/css/style.css. Recolors the theme's CSS
   variable system to NP blue + Montserrat. "Just the brand colors."
   ============================================================ */
:root {
  --accent: #17479E;          /* was #ff5500 */
  --heading-color: #09214A;   /* NP deep blue */
  --black: #09214A;
  --body-color: #3A4458;
  --heading-font: 'Montserrat', sans-serif;
  --body-color-font: 'Montserrat', sans-serif;
}

body { font-family: 'Montserrat', sans-serif; }
h1, h2, h3, h4, h5, h6,
.cs_heading_font,
.cs_section_title,
.cs_hero_title { font-family: 'Montserrat', sans-serif; }

/* NP text wordmark in place of the theme logo image */
.cs_site_branding_text {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 26px;
  letter-spacing: -0.02em;
  color: #09214A;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
}
.cs_footer .cs_site_branding_text,
footer .cs_site_branding_text { color: #fff; }

/* Header: solid white bar so navy nav stays readable over dark page banners */
.cs_site_header.cs_style_1 .cs_main_header { background: #fff; box-shadow: 0 1px 0 rgba(9,33,74,.10); }

/* Skip link */
.cs_skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #09214A; color: #fff; padding: 12px 20px; font-weight: 700; border-radius: 0 0 8px 0; }
.cs_skip:focus { left: 0; }

/* Inner-page helpers on theme tokens */
.np-ph { display: inline-block; background: #fff6d6; border: 1px dashed #d9a400; color: #7a5c00; font-weight: 700; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 4px; }
.np-media-ph { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; background: #eef2f8; border: 1px solid rgba(9,33,74,.18); border-radius: 12px; overflow: hidden; }
.np-media-ph::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, transparent 0 22px, rgba(9,33,74,.04) 22px 44px); }
.np-media-ph span { position: absolute; left: 12px; top: 12px; z-index: 1; background: #09214A; color: #fff; font-size: .6rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; border-radius: 4px; }
.cs_list.cs_style_1 li .np-badge { color: #17479E; }

/* Accessibility: visible focus states */
a:focus-visible, button:focus-visible,
input:focus-visible, textarea:focus-visible {
  outline: 3px solid #17479E;
  outline-offset: 2px;
}
