/* Shared refined brand. Intrinsic ratios prevent header/footer layout jumps. */
img.nwrs-site-brand { object-fit:contain; height:auto; background:transparent; box-shadow:none; filter:none; }
img.foot-logo.nwrs-site-brand { width:180px; height:auto; max-width:100%; }
.nwrs-home-intro { background:#0b0f0d; color:#f4f7f2; }
.nwrs-home-intro-copy { display:flex; align-items:center; justify-content:space-between; gap:32px; max-width:1440px; margin:0 auto; padding:34px 5.5%; }
.nwrs-home-eyebrow { margin:0 0 12px; color:#91ff42; font:600 12px/1.5 Arial,Helvetica,sans-serif; letter-spacing:1.7px; text-transform:uppercase; }
.nwrs-home-intro #nwrs-home-title { margin:0; color:#f4f7f2; font-family:Arial,Helvetica,sans-serif; font-weight:700; font-size:clamp(27px,3.2vw,46px); line-height:1.12; letter-spacing:-1px; text-shadow:none; }
.nwrs-home-subtitle { margin:16px 0 0; color:#b9c5bb; font:400 15px/1.5 Arial,Helvetica,sans-serif; }
.nwrs-home-cta { display:inline-flex; align-items:center; justify-content:center; gap:14px; flex-shrink:0; min-height:48px; padding:14px 22px; border:0; border-radius:3px; background:#91ff42; color:#10200b; font:700 14px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; }
.nwrs-home-cta:hover { background:#a5ff6b; }
.nwrs-home-cta:focus-visible { outline:3px solid #d6ffb8; outline-offset:4px; }
#nwrs-animated-hero picture { display:block; }
@media(max-width:767px) {
  .nwrs-home-intro-copy { flex-direction:column; align-items:flex-start; gap:24px; padding:28px 22px; }
  .nwrs-home-intro #nwrs-home-title { font-size:30px; letter-spacing:-.7px; }
  .nwrs-home-title-break { display:none; }
  .nwrs-home-eyebrow { font-size:11px; }
  .nwrs-home-subtitle { margin-top:14px; font-size:14px; }
}

#nwrs-animated-hero {
  position: relative;
  width: 100%;
  aspect-ratio: 1983 / 793;
  overflow: hidden;
  isolation: isolate;
  container: nwrs-hero / inline-size;
  background: #0b0f0d;
}

#nwrs-animated-hero .nwrs-hero-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1983 / 793;
  object-fit: contain;
}

#nwrs-animated-hero .nwrs-hero-effects {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

#nwrs-animated-hero .nwrs-hero-brand {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 50.8196721%;
  display: block;
  width: min(26.5%, 320px);
  max-width: none;
  height: auto;
  opacity: 1;
  transform: translateX(-50%);
  transform-origin: 50% 0;
  pointer-events: none;
  background: none;
  border: 0;
  box-shadow: none;
  filter: none;
}

/* JavaScript adds this only when an intro is going to run. Without it the
   complete, centered brand remains visible even when scripting is unavailable. */
#nwrs-animated-hero.nwrs-motion-ready .nwrs-hero-brand {
  opacity: 0;
}

#nwrs-animated-hero .nwrs-hero-slogan {
  position: absolute;
  z-index: 2;
  top: 84%;
  left: 50%;
  width: max-content;
  max-width: 92%;
  margin: 0;
  color: #f4f7f2;
  font: 800 clamp(14px, 4.5vw, 80px)/1.05 Arial, Helvetica, sans-serif;
  letter-spacing: .015em;
  text-align: center;
  white-space: nowrap;
  text-shadow: 0 2px 3px #071109, 0 4px 12px rgba(7, 17, 9, .85);
  opacity: 1;
  transform: translateX(-50%);
  pointer-events: none;
}

#nwrs-animated-hero.nwrs-motion-ready .nwrs-hero-slogan {
  opacity: 0;
}

#nwrs-animated-hero .nwrs-animation-replay {
  position: absolute;
  z-index: 3;
  right: 12px;
  bottom: 12px;
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid rgba(188, 225, 170, .48);
  border-radius: 5px;
  color: #e9ffe0;
  background: rgba(8, 15, 10, .78);
  font: 600 12px/1.2 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

#nwrs-animated-hero[data-nwrs-ready="true"] .nwrs-animation-replay {
  display: inline-flex;
}

#nwrs-animated-hero .nwrs-animation-replay[hidden] {
  display: none;
}

#nwrs-animated-hero .nwrs-animation-replay:hover {
  background: rgba(21, 37, 22, .92);
}

#nwrs-animated-hero .nwrs-animation-replay:focus-visible {
  outline: 2px solid #91ff42;
  outline-offset: 3px;
}

#nwrs-animated-hero .nwrs-animation-status {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@container nwrs-hero (max-width: 620px) {
  #nwrs-animated-hero .nwrs-hero-brand {
    width: 28%;
  }

  #nwrs-animated-hero .nwrs-animation-replay {
    top: 8px;
    bottom: auto;
    min-height: 44px;
    padding: 6px 8px;
    font-size: 10px;
  }
}

@media (max-width: 620px) {
  #nwrs-animated-hero .nwrs-hero-brand {
    width: 28%;
  }

  #nwrs-animated-hero .nwrs-animation-replay {
    top: 8px;
    right: 8px;
    bottom: auto;
    min-height: 44px;
    padding: 6px 8px;
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #nwrs-animated-hero.nwrs-motion-ready .nwrs-hero-brand,
  #nwrs-animated-hero.nwrs-motion-ready .nwrs-hero-slogan {
    opacity: 1;
  }
}
