/* =====================================================
   NWTM HOMEPAGE V3 - ADDITIONAL STYLES
   Scoped under .nwtm-v3. Won't conflict with .nwtm or .nwtm-v2.
   ===================================================== */

/* ============================================
   HIDE WORDPRESS PAGE TITLE ON HOMEPAGE
   ============================================ */
body.home .entry-header,
body.home .entry-title,
body.home h1.entry-title,
body.home .page-title,
body.home .ast-archive-title,
body.home .ast-content-title,
body.home .ast-single-post-order,
body.home main .entry-content > .entry-header {
  display: none !important;
}

/* ============================================
   FOOTER & SITE-WIDE CUSTOM CSS
   --------------------------------------------
   Original NWTM footer styling - targets the
   custom .nwtm-footer HTML block in your Astra
   footer builder, plus Astra container overrides.
   ============================================ */

/* Mobile footer alignment for Astra defaults */
@media (max-width: 544px) {
  .site-footer,
  .site-footer .ast-footer-html,
  .site-footer .ast-footer-html p,
  .site-footer .ast-footer-html a { text-align: center !important; }
  .site-footer .ast-footer-social-wrap { justify-content: center !important; }
}

/* NWTM Footer container */
.nwtm-footer {
  background: #000000;
  color: #ffffff;
  font-family: 'Teko', sans-serif;
  position: relative;
  overflow: hidden;
}
.nwtm-footer *,
.nwtm-footer *::before,
.nwtm-footer *::after {
  box-sizing: border-box;
}
.nwtm-footer p,
.nwtm-footer h3,
.nwtm-footer h4,
.nwtm-footer ul,
.nwtm-footer li,
.nwtm-footer span {
  margin: 0;
  padding: 0;
}
.nwtm-footer ul { list-style: none; }
.nwtm-footer a {
  text-decoration: none !important;
  transition: color 0.3s ease;
}

/* Top accent stripe */
.nwtm-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.22) 20%, rgba(255,255,255,0.22) 80%, transparent 100%);
  z-index: 1;
}
/* Subtle background depth */
.nwtm-footer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at top, rgba(255,255,255,0.03) 0%, transparent 60%);
  pointer-events: none;
  z-index: 1;
}

.nwtm-footer-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 56px;
  position: relative;
  z-index: 2;
}

.nwtm-footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: 72px;
  padding: 80px 0 56px;
  align-items: start;
}

/* === Brand column === */
.nwtm-footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.nwtm-footer-mountain {
  width: 200px;
  height: auto;
  opacity: 0.95;
  margin: 0 0 16px 0;
  transition: opacity 0.3s ease;
}
.nwtm-footer-mountain:hover { opacity: 1; }
.nwtm-footer-name {
  font-family: 'Teko', sans-serif !important;
  font-size: 34px;
  font-weight: 600 !important;
  letter-spacing: 0.08em;
  color: #ffffff;
  line-height: 1 !important;
  text-transform: uppercase;
  margin: 0 0 22px 0 !important;
}
.nwtm-footer-name .nwtm-name-us {
  color: inherit;
  font-weight: 600;
}
.nwtm-footer-desc {
  font-family: 'Teko', sans-serif !important;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.55;
  color: #999999;
  max-width: 360px;
  margin: 0 !important;
}

/* === Section columns === */
.nwtm-footer-col {
  display: flex;
  flex-direction: column;
}
.nwtm-footer-marker {
  display: block;
  font-family: 'Teko', sans-serif !important;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #666666;
  margin-bottom: 18px;
  line-height: 1;
}
.nwtm-footer-heading {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 22px;
  font-weight: 400 !important;
  letter-spacing: 0.1em;
  color: #ffffff;
  text-transform: uppercase;
  margin: 0 0 24px 0 !important;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  line-height: 1;
}

/* === Links with animated accent bar === */
.nwtm-footer-links {
  display: flex;
  flex-direction: column;
  gap: 9px;
  list-style: none !important;
  padding: 0;
  margin: 0;
}
.nwtm-footer-links li {
  line-height: 1;
  list-style: none !important;
}
.nwtm-footer-links a {
  font-family: 'Teko', sans-serif !important;
  font-size: 16px;
  font-weight: 400;
  color: #888888 !important;
  line-height: 1.3;
  display: inline-flex;
  align-items: center;
  transition: color 0.3s ease;
  position: relative;
}
.nwtm-footer-links a::before {
  content: '';
  display: inline-block;
  width: 0;
  height: 1px;
  background: #ffffff;
  margin-right: 0;
  transition: width 0.3s ease, margin-right 0.3s ease;
  vertical-align: middle;
}
.nwtm-footer-links a:hover {
  color: #ffffff !important;
}
.nwtm-footer-links a:hover::before {
  width: 14px;
  margin-right: 10px;
}

/* === Connect column === */
.nwtm-footer-connect-text {
  font-family: 'Teko', sans-serif !important;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
  color: #888888;
  margin: 0 0 22px 0 !important;
  max-width: 280px;
}
.nwtm-footer-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 13px 22px;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #ffffff !important;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.4);
  text-decoration: none !important;
  width: fit-content;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, gap 0.3s ease;
}
.nwtm-footer-cta-arrow {
  display: inline-block;
  font-family: 'Teko', sans-serif !important;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0;
  transition: transform 0.3s ease;
}
.nwtm-footer-cta:hover {
  background: #ffffff;
  color: #000000 !important;
  border-color: #ffffff;
  gap: 16px;
}
.nwtm-footer-cta:hover .nwtm-footer-cta-arrow {
  transform: translateX(2px);
}

/* === Social icons row === */
.nwtm-footer-social {
  display: flex;
  gap: 12px;
  margin-top: 30px;
}
.nwtm-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: transparent;
  transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}
.nwtm-footer-social a::before {
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  background-color: #aaaaaa;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color 0.3s ease;
}
.nwtm-footer-social a:hover {
  border-color: #ffffff;
  background: #ffffff;
  transform: translateY(-2px);
}
.nwtm-footer-social a:hover::before {
  background-color: #000000;
}
.nwtm-soc-ig::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%202.16c3.2%200%203.58.01%204.85.07%201.17.05%201.8.25%202.23.41.56.22.96.48%201.38.9.42.42.68.82.9%201.38.16.42.36%201.06.41%202.23.06%201.27.07%201.65.07%204.85s-.01%203.58-.07%204.85c-.05%201.17-.25%201.8-.41%202.23-.22.56-.48.96-.9%201.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41-.56-.22-.96-.48-1.38-.9-.42-.42-.68-.82-.9-1.38-.16-.42-.36-1.06-.41-2.23-.06-1.27-.07-1.65-.07-4.85s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68%201.38-.9.42-.16%201.06-.36%202.23-.41%201.27-.06%201.65-.07%204.85-.07M12%200C8.74%200%208.33.01%207.05.07%205.78.13%204.9.33%204.14.63c-.79.3-1.46.72-2.13%201.38C1.35%202.68.93%203.35.63%204.14.33%204.9.13%205.78.07%207.05.01%208.33%200%208.74%200%2012s.01%203.67.07%204.95c.06%201.27.26%202.15.56%202.91.3.79.72%201.46%201.38%202.13.67.66%201.34%201.08%202.13%201.38.76.3%201.64.5%202.91.56C8.33%2023.99%208.74%2024%2012%2024s3.67-.01%204.95-.07c1.27-.06%202.15-.26%202.91-.56.79-.3%201.46-.72%202.13-1.38.66-.67%201.08-1.34%201.38-2.13.3-.76.5-1.64.56-2.91.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.06-1.27-.26-2.15-.56-2.91-.3-.79-.72-1.46-1.38-2.13C21.32%201.35%2020.65.93%2019.86.63c-.76-.3-1.64-.5-2.91-.56C15.67.01%2015.26%200%2012%200zm0%205.84a6.16%206.16%200%20100%2012.32%206.16%206.16%200%20000-12.32zM12%2016a4%204%200%20110-8%204%204%200%20010%208zm6.41-10.85a1.44%201.44%200%20100%202.88%201.44%201.44%200%20000-2.88z%27%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%202.16c3.2%200%203.58.01%204.85.07%201.17.05%201.8.25%202.23.41.56.22.96.48%201.38.9.42.42.68.82.9%201.38.16.42.36%201.06.41%202.23.06%201.27.07%201.65.07%204.85s-.01%203.58-.07%204.85c-.05%201.17-.25%201.8-.41%202.23-.22.56-.48.96-.9%201.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41-.56-.22-.96-.48-1.38-.9-.42-.42-.68-.82-.9-1.38-.16-.42-.36-1.06-.41-2.23-.06-1.27-.07-1.65-.07-4.85s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68%201.38-.9.42-.16%201.06-.36%202.23-.41%201.27-.06%201.65-.07%204.85-.07M12%200C8.74%200%208.33.01%207.05.07%205.78.13%204.9.33%204.14.63c-.79.3-1.46.72-2.13%201.38C1.35%202.68.93%203.35.63%204.14.33%204.9.13%205.78.07%207.05.01%208.33%200%208.74%200%2012s.01%203.67.07%204.95c.06%201.27.26%202.15.56%202.91.3.79.72%201.46%201.38%202.13.67.66%201.34%201.08%202.13%201.38.76.3%201.64.5%202.91.56C8.33%2023.99%208.74%2024%2012%2024s3.67-.01%204.95-.07c1.27-.06%202.15-.26%202.91-.56.79-.3%201.46-.72%202.13-1.38.66-.67%201.08-1.34%201.38-2.13.3-.76.5-1.64.56-2.91.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.06-1.27-.26-2.15-.56-2.91-.3-.79-.72-1.46-1.38-2.13C21.32%201.35%2020.65.93%2019.86.63c-.76-.3-1.64-.5-2.91-.56C15.67.01%2015.26%200%2012%200zm0%205.84a6.16%206.16%200%20100%2012.32%206.16%206.16%200%20000-12.32zM12%2016a4%204%200%20110-8%204%204%200%20010%208zm6.41-10.85a1.44%201.44%200%20100%202.88%201.44%201.44%200%20000-2.88z%27%2F%3E%3C%2Fsvg%3E");
}
.nwtm-soc-yt::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M23.5%206.2a3.02%203.02%200%2000-2.12-2.14C19.5%203.55%2012%203.55%2012%203.55s-7.5%200-9.38.51A3.02%203.02%200%2000.5%206.2C0%208.07%200%2012%200%2012s0%203.93.5%205.8a3.02%203.02%200%20002.12%202.14c1.88.51%209.38.51%209.38.51s7.5%200%209.38-.51a3.02%203.02%200%20002.12-2.14C24%2015.93%2024%2012%2024%2012s0-3.93-.5-5.8zM9.55%2015.57V8.43L15.82%2012l-6.27%203.57z%27%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M23.5%206.2a3.02%203.02%200%2000-2.12-2.14C19.5%203.55%2012%203.55%2012%203.55s-7.5%200-9.38.51A3.02%203.02%200%2000.5%206.2C0%208.07%200%2012%200%2012s0%203.93.5%205.8a3.02%203.02%200%20002.12%202.14c1.88.51%209.38.51%209.38.51s7.5%200%209.38-.51a3.02%203.02%200%20002.12-2.14C24%2015.93%2024%2012%2024%2012s0-3.93-.5-5.8zM9.55%2015.57V8.43L15.82%2012l-6.27%203.57z%27%2F%3E%3C%2Fsvg%3E");
}
.nwtm-soc-th::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M17.6%2011.5c-.1%200-.2-.1-.3-.1-.2-3.2-1.9-5-4.9-5.1h-.1c-1.8%200-3.3.8-4.2%202.1l1.6%201.1c.7-1%201.7-1.3%202.6-1.3%201%200%201.7.3%202.2.8.3.4.6.9.7%201.6-.9-.2-1.8-.2-2.8-.1-2.8.2-4.6%201.8-4.5%204.1.1%201.2.7%202.1%201.6%202.8.8.5%201.9.8%203%20.7%201.5-.1%202.6-.6%203.4-1.7.6-.8%201-1.8%201.2-3.1.7.4%201.2%201%201.5%201.7.5%201.2.5%203.1-1.1%204.7-1.4%201.4-3.1%202-5.6%202-2.8%200-5-.9-6.3-2.7C2.7%2017.5%202%2015.1%202%2012c0-3.1.7-5.5%202-7.1C5.3%203%207.5%202.1%2010.3%202.1c2.8%200%205%20.9%206.4%202.7.7.9%201.2%202%201.6%203.2l1.8-.5c-.4-1.6-1.1-2.9-2-4-1.8-2.3-4.4-3.4-7.7-3.4-3.2%200-5.8%201.1-7.7%203.3C.8%205.3%200%208.1%200%2011.7c0%203.6.8%206.4%202.6%208.4%201.9%202.2%204.5%203.3%207.7%203.3%202.9%200%204.9-.7%206.6-2.4%202.2-2.2%202.1-4.9%201.4-6.6-.5-1.2-1.5-2.2-2.7-2.9zm-3.3%204c-1%20.1-1.9-.2-2.4-.6-.4-.4-.6-.8-.6-1.4-.1-.8.7-1.6%202.2-1.7h.5c.7%200%201.3.1%201.8.2-.2%202.5-1.4%203.4-1.5%203.5z%27%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M17.6%2011.5c-.1%200-.2-.1-.3-.1-.2-3.2-1.9-5-4.9-5.1h-.1c-1.8%200-3.3.8-4.2%202.1l1.6%201.1c.7-1%201.7-1.3%202.6-1.3%201%200%201.7.3%202.2.8.3.4.6.9.7%201.6-.9-.2-1.8-.2-2.8-.1-2.8.2-4.6%201.8-4.5%204.1.1%201.2.7%202.1%201.6%202.8.8.5%201.9.8%203%20.7%201.5-.1%202.6-.6%203.4-1.7.6-.8%201-1.8%201.2-3.1.7.4%201.2%201%201.5%201.7.5%201.2.5%203.1-1.1%204.7-1.4%201.4-3.1%202-5.6%202-2.8%200-5-.9-6.3-2.7C2.7%2017.5%202%2015.1%202%2012c0-3.1.7-5.5%202-7.1C5.3%203%207.5%202.1%2010.3%202.1c2.8%200%205%20.9%206.4%202.7.7.9%201.2%202%201.6%203.2l1.8-.5c-.4-1.6-1.1-2.9-2-4-1.8-2.3-4.4-3.4-7.7-3.4-3.2%200-5.8%201.1-7.7%203.3C.8%205.3%200%208.1%200%2011.7c0%203.6.8%206.4%202.6%208.4%201.9%202.2%204.5%203.3%207.7%203.3%202.9%200%204.9-.7%206.6-2.4%202.2-2.2%202.1-4.9%201.4-6.6-.5-1.2-1.5-2.2-2.7-2.9zm-3.3%204c-1%20.1-1.9-.2-2.4-.6-.4-.4-.6-.8-.6-1.4-.1-.8.7-1.6%202.2-1.7h.5c.7%200%201.3.1%201.8.2-.2%202.5-1.4%203.4-1.5%203.5z%27%2F%3E%3C%2Fsvg%3E");
}
.nwtm-soc-li::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M20.45%2020.45h-3.55v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85%200-2.13%201.45-2.13%202.94v5.67H9.36V9h3.41v1.56h.05c.48-.9%201.64-1.85%203.38-1.85%203.61%200%204.27%202.37%204.27%205.46v6.28zM5.34%207.43a2.06%202.06%200%20110-4.13%202.06%202.06%200%20010%204.13zM7.12%2020.45H3.55V9h3.57v11.45zM22.22%200H1.77C.79%200%200%20.77%200%201.72v20.56C0%2023.23.79%2024%201.77%2024h20.45c.98%200%201.78-.77%201.78-1.72V1.72C24%20.77%2023.2%200%2022.22%200z%27%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M20.45%2020.45h-3.55v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85%200-2.13%201.45-2.13%202.94v5.67H9.36V9h3.41v1.56h.05c.48-.9%201.64-1.85%203.38-1.85%203.61%200%204.27%202.37%204.27%205.46v6.28zM5.34%207.43a2.06%202.06%200%20110-4.13%202.06%202.06%200%20010%204.13zM7.12%2020.45H3.55V9h3.57v11.45zM22.22%200H1.77C.79%200%200%20.77%200%201.72v20.56C0%2023.23.79%2024%201.77%2024h20.45c.98%200%201.78-.77%201.78-1.72V1.72C24%20.77%2023.2%200%2022.22%200z%27%2F%3E%3C%2Fsvg%3E");
}

/* === Bottom bar === */
.nwtm-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  padding: 26px 0 28px;
  border-top: 1px solid rgba(255,255,255,0.08);
  position: relative;
  z-index: 2;
}
.nwtm-footer-copy {
  font-family: 'Teko', sans-serif !important;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.04em;
  color: #707070;
}
.nwtm-footer-legal {
  display: flex;
  gap: 28px;
  align-items: center;
  flex-wrap: wrap;
}
.nwtm-footer-legal a {
  font-family: 'Teko', sans-serif !important;
  font-size: 13px;
  font-weight: 400;
  color: #888888 !important;
  letter-spacing: 0.04em;
  position: relative;
  transition: color 0.3s ease;
}
.nwtm-footer-legal a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 1px;
  background: #ffffff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.nwtm-footer-legal a:hover {
  color: #ffffff !important;
}
.nwtm-footer-legal a:hover::after {
  transform: scaleX(1);
}

/* Astra footer container overrides - strip Astra padding */
.site-footer .ast-builder-html-element,
.site-footer .ast-builder-grid-row,
.site-footer .footer-widget-area {
  padding: 0 !important;
}
.site-footer {
  padding: 0 !important;
  background: #000000 !important;
}

/* === Responsive: tablet === */
@media (max-width: 1100px) {
  .nwtm-footer-inner { padding: 0 40px; }
  .nwtm-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 56px 48px;
    padding: 64px 0 48px;
  }
  .nwtm-footer-brand {
    grid-column: 1 / -1;
    max-width: 640px;
  }
  .nwtm-footer-connect-text { max-width: 100%; }
}

/* === Responsive: mobile === */
@media (max-width: 700px) {
  .nwtm-footer-inner { padding: 0 28px; }
  .nwtm-footer-grid {
    grid-template-columns: 1fr;
    gap: 44px;
    padding: 52px 0 40px;
  }
  .nwtm-footer-brand {
    grid-column: auto;
    max-width: 100%;
    align-items: center;
    text-align: center;
  }
  .nwtm-footer-mountain {
    width: 172px;
    margin-bottom: 14px;
  }
  .nwtm-footer-name {
    font-size: 30px;
    letter-spacing: 0.06em;
  }
  .nwtm-footer-desc { font-size: 15px; max-width: 100%; }
  .nwtm-footer-marker {
    font-size: 10px;
    letter-spacing: 0.28em;
    margin-bottom: 14px;
  }
  .nwtm-footer-heading {
    font-size: 20px;
    margin-bottom: 20px !important;
    padding-bottom: 12px;
  }
  .nwtm-footer-links a { font-size: 15px; }
  .nwtm-footer-connect-text { font-size: 15px; }

  .nwtm-footer-social a { width: 38px; height: 38px; }
  .nwtm-footer-social a::before { width: 16px; height: 16px; }

  .nwtm-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 22px 0 26px;
  }
  .nwtm-footer-copy { font-size: 12px; }
  .nwtm-footer-legal { gap: 22px; }
  .nwtm-footer-legal a { font-size: 12px; }
}

@media (max-width: 420px) {
  .nwtm-footer-inner { padding: 0 22px; }
  .nwtm-footer-name { font-size: 28px; }
  .nwtm-footer-cta {
    width: 100%;
    justify-content: center;
  }
}


/* ============================================
   HOMEPAGE V3 STYLES BELOW
   ============================================ */

.nwtm-v3, .nwtm-v3 *, .nwtm-v3 *::before, .nwtm-v3 *::after { box-sizing: border-box; }
.nwtm-v3 { color: #ffffff; font-family: 'Teko', sans-serif; font-weight: 300; background: #000; }
.nwtm-v3 h1, .nwtm-v3 h2, .nwtm-v3 h3, .nwtm-v3 h4, .nwtm-v3 h5, .nwtm-v3 h6, .nwtm-v3 p, .nwtm-v3 span { margin: 0; padding: 0; }
.nwtm-v3 a { text-decoration: none !important; color: inherit; transition: all 0.3s ease; }
.nwtm-v3 img { display: block; max-width: 100%; }

/* === Reveal === */
/* Class retained for compatibility but no longer hides content by default */
.nwtm-v3 .v3-reveal { opacity: 1; }

/* === Utilities === */
.nwtm-v3 .v3-hl {
  background-image: linear-gradient(rgba(80,80,85,0.55), rgba(80,80,85,0.55));
  background-repeat: no-repeat;
  background-size: 102% 76%;
  background-position: -1% 48%;
  padding: 0 0.14em;
  color: #ffffff;
}
.nwtm-v3 .v3-eyebrow {
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.4em;
  color: #909090;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  line-height: 1;
}
.nwtm-v3 .v3-eyebrow::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: #606060;
}
.nwtm-v3 .v3-section-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(40px, 6vw, 84px);
  line-height: 0.96 !important;
  text-transform: uppercase;
  color: #ffffff;
  letter-spacing: 0.005em;
}
.nwtm-v3 .v3-section-wrap { max-width: 1500px; margin: 0 auto; padding: 0 64px; }
.nwtm-v3 .v3-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
  margin-bottom: 44px;
  flex-wrap: wrap;
}
.nwtm-v3 .v3-section-header .v3-section-title { max-width: 800px; }

/* === Buttons === */
.nwtm-v3 .v3-btn-primary, .nwtm-v3 .v3-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  font-family: 'Teko', sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  line-height: 1;
  transition: all 0.35s ease;
}
.nwtm-v3 .v3-btn-primary { background: #ffffff; color: #000 !important; border: 1px solid #ffffff; }
.nwtm-v3 .v3-btn-primary:hover { background: transparent; color: #fff !important; transform: translateY(-2px); }
.nwtm-v3 .v3-btn-secondary { background: transparent; color: #fff !important; border: 1px solid #ffffff; }
.nwtm-v3 .v3-btn-secondary:hover { background: #fff; color: #000 !important; transform: translateY(-2px); }
.nwtm-v3 .arrow { color: inherit !important; transition: transform 0.3s ease; display: inline-block; }
.nwtm-v3 .v3-btn-primary:hover .arrow, .nwtm-v3 .v3-btn-secondary:hover .arrow { transform: translateX(4px); }
.nwtm-v3 .v3-btn-primary a, .nwtm-v3 .v3-btn-secondary a, .nwtm-v3 .v3-prog-cta a, .nwtm-v3 .v3-why-feat-cta a { color: inherit !important; }

/* ============================================
   1. HERO
   ============================================ */
.nwtm-v3 .v3-hero {
  position: relative;
  min-height: 72vh;
  background: #000;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.nwtm-v3 .v3-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  opacity: 0.78;
  animation: v3HeroKB 36s ease-in-out infinite alternate;
}
@keyframes v3HeroKB {
  0%   { transform: scale(1.04) translate(0%, 0%); }
  100% { transform: scale(1.12) translate(-2%, -1.5%); }
}
.nwtm-v3 .v3-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 70%, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.7) 100%),
    linear-gradient(to top, #000 0%, rgba(0,0,0,0.5) 40%, rgba(0,0,0,0.3) 70%, rgba(0,0,0,0.6) 100%);
  pointer-events: none;
}
.nwtm-v3 .v3-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 64px 64px 72px;
}
.nwtm-v3 .v3-hero-title-wrap {
  display: block;
  margin-bottom: 0;
  width: 100%;
  text-shadow: 0 2px 28px rgba(0,0,0,0.55);
}
.nwtm-v3 .v3-hero-title,
.nwtm-v3 .v3-hero-title-2 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(26px, 6vw, 118px) !important;
  line-height: 0.86 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.005em !important;
  color: #ffffff !important;
  display: block !important;
  text-align: left !important;
  white-space: nowrap;
  margin: 0 !important;
  padding: 0 !important;
}
.nwtm-v3 .v3-hero-title-2 {
  margin-top: -0.04em !important;
}
.nwtm-v3 .v3-hero-title-2 #v3-typewriter { display: inline-block; }

/* CSS-only TRUE character-by-character typewriter.
   Each keyframe of nwtmTypewriter contains one more (or fewer) character
   than the last. The browser snaps the content at each keyframe boundary,
   producing real character-by-character typing. The wrapper's width
   auto-adjusts to the current content; the cursor (an inline sibling)
   gets pushed right as each character appears. */
.nwtm-v3 .v3-tw-css {
  display: inline-block !important;
  vertical-align: top;
  color: #ffffff;
}
.nwtm-v3 .v3-tw-css::before {
  content: "";
  animation: nwtmTypewriter 24s linear infinite;
}

@keyframes nwtmTypewriter {
  0% { content: ""; }
  0.435% { content: "P"; }
  0.870% { content: "Pe"; }
  1.304% { content: "Per"; }
  1.739% { content: "Perf"; }
  2.174% { content: "Perfo"; }
  2.609% { content: "Perfor"; }
  3.043% { content: "Perform"; }
  3.478% { content: "Perform "; }
  3.913% { content: "Perform U"; }
  4.348% { content: "Perform Un"; }
  4.783% { content: "Perform Und"; }
  5.217% { content: "Perform Unde"; }
  5.652% { content: "Perform Under"; }
  6.087% { content: "Perform Under "; }
  6.522% { content: "Perform Under P"; }
  6.957% { content: "Perform Under Pr"; }
  7.391% { content: "Perform Under Pre"; }
  7.826% { content: "Perform Under Pres"; }
  8.261% { content: "Perform Under Press"; }
  8.696% { content: "Perform Under Pressu"; }
  9.130% { content: "Perform Under Pressur"; }
  9.565% { content: "Perform Under Pressure"; }
  10.000% { content: "Perform Under Pressure."; }
  26.670% { content: "Perform Under Pressure."; }
  26.851% { content: "Perform Under Pressure"; }
  27.033% { content: "Perform Under Pressur"; }
  27.214% { content: "Perform Under Pressu"; }
  27.395% { content: "Perform Under Press"; }
  27.577% { content: "Perform Under Pres"; }
  27.758% { content: "Perform Under Pre"; }
  27.939% { content: "Perform Under Pr"; }
  28.120% { content: "Perform Under P"; }
  28.302% { content: "Perform Under "; }
  28.483% { content: "Perform Under"; }
  28.664% { content: "Perform Unde"; }
  28.846% { content: "Perform Und"; }
  29.027% { content: "Perform Un"; }
  29.208% { content: "Perform U"; }
  29.390% { content: "Perform "; }
  29.571% { content: "Perform"; }
  29.752% { content: "Perfor"; }
  29.933% { content: "Perfo"; }
  30.115% { content: "Perf"; }
  30.296% { content: "Per"; }
  30.477% { content: "Pe"; }
  30.659% { content: "P"; }
  30.840% { content: ""; }
  33.750% { content: "O"; }
  34.167% { content: "Op"; }
  34.583% { content: "Ope"; }
  35.000% { content: "Oper"; }
  35.417% { content: "Opera"; }
  35.833% { content: "Operat"; }
  36.250% { content: "Operate"; }
  36.667% { content: "Operate "; }
  37.083% { content: "Operate w"; }
  37.500% { content: "Operate wi"; }
  37.917% { content: "Operate wit"; }
  38.333% { content: "Operate with"; }
  38.750% { content: "Operate with "; }
  39.167% { content: "Operate with d"; }
  39.583% { content: "Operate with di"; }
  40.000% { content: "Operate with dis"; }
  40.417% { content: "Operate with disc"; }
  40.833% { content: "Operate with disci"; }
  41.250% { content: "Operate with discip"; }
  41.667% { content: "Operate with discipl"; }
  42.083% { content: "Operate with discipli"; }
  42.500% { content: "Operate with disciplin"; }
  42.917% { content: "Operate with discipline"; }
  43.333% { content: "Operate with discipline."; }
  60.003% { content: "Operate with discipline."; }
  60.177% { content: "Operate with discipline"; }
  60.351% { content: "Operate with disciplin"; }
  60.525% { content: "Operate with discipli"; }
  60.698% { content: "Operate with discipl"; }
  60.872% { content: "Operate with discip"; }
  61.046% { content: "Operate with disci"; }
  61.220% { content: "Operate with disc"; }
  61.393% { content: "Operate with dis"; }
  61.567% { content: "Operate with di"; }
  61.741% { content: "Operate with d"; }
  61.915% { content: "Operate with "; }
  62.088% { content: "Operate with"; }
  62.262% { content: "Operate wit"; }
  62.436% { content: "Operate wi"; }
  62.610% { content: "Operate w"; }
  62.783% { content: "Operate "; }
  62.957% { content: "Operate"; }
  63.131% { content: "Operat"; }
  63.305% { content: "Opera"; }
  63.478% { content: "Oper"; }
  63.652% { content: "Ope"; }
  63.826% { content: "Op"; }
  64.000% { content: "O"; }
  64.173% { content: ""; }
  67.083% { content: "T"; }
  67.500% { content: "Tr"; }
  67.917% { content: "Tra"; }
  68.333% { content: "Trai"; }
  68.750% { content: "Train"; }
  69.167% { content: "Train "; }
  69.583% { content: "Train f"; }
  70.000% { content: "Train fo"; }
  70.417% { content: "Train for"; }
  70.833% { content: "Train for "; }
  71.250% { content: "Train for r"; }
  71.667% { content: "Train for re"; }
  72.083% { content: "Train for rea"; }
  72.500% { content: "Train for real"; }
  72.917% { content: "Train for real "; }
  73.333% { content: "Train for real m"; }
  73.750% { content: "Train for real mi"; }
  74.167% { content: "Train for real mis"; }
  74.583% { content: "Train for real miss"; }
  75.000% { content: "Train for real missi"; }
  75.417% { content: "Train for real missio"; }
  75.833% { content: "Train for real mission"; }
  76.250% { content: "Train for real missions"; }
  76.667% { content: "Train for real missions."; }
  93.337% { content: "Train for real missions."; }
  93.510% { content: "Train for real missions"; }
  93.684% { content: "Train for real mission"; }
  93.858% { content: "Train for real missio"; }
  94.032% { content: "Train for real missi"; }
  94.205% { content: "Train for real miss"; }
  94.379% { content: "Train for real mis"; }
  94.553% { content: "Train for real mi"; }
  94.727% { content: "Train for real m"; }
  94.900% { content: "Train for real "; }
  95.074% { content: "Train for real"; }
  95.248% { content: "Train for rea"; }
  95.422% { content: "Train for re"; }
  95.595% { content: "Train for r"; }
  95.769% { content: "Train for "; }
  95.943% { content: "Train for"; }
  96.117% { content: "Train fo"; }
  96.290% { content: "Train f"; }
  96.464% { content: "Train "; }
  96.638% { content: "Train"; }
  96.812% { content: "Trai"; }
  96.985% { content: "Tra"; }
  97.159% { content: "Tr"; }
  97.333% { content: "T"; }
  97.507% { content: ""; }
  100% { content: ""; }
}
.nwtm-v3 .v3-cursor {
  display: inline-block;
  width: 4px;
  height: 0.66em;
  background: #ffffff;
  margin-left: 0.08em;
  margin-top: 0.05em;
  vertical-align: top;
  animation: v3CursorBlink 1s steps(2) infinite;
}
@keyframes v3CursorBlink { 50% { opacity: 0; } }
.nwtm-v3 .v3-hero-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 26px;
  margin-top: 32px;
}
.nwtm-v3 .v3-hero-subtitle {
  font-family: 'Teko', sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.45;
  color: #d0d0d0;
  max-width: 540px;
  text-shadow: 0 1px 8px rgba(0,0,0,0.5);
}
.nwtm-v3 .v3-hero-ctas {
  display: flex;
  gap: 14px;
  flex-shrink: 0;
}

/* ============================================
   CARDS - shared (Who We Serve + How We Train)
   ============================================ */
.nwtm-v3 .v3-card {
  background: #fafaf7;
  color: #0a0a0a;
  padding: 48px 40px 44px;
  position: relative;
  transition: background 0.45s ease, color 0.45s ease;
  cursor: default;
  overflow: hidden;
}
.nwtm-v3 .v3-card.v3-card-dark { background: #0a0a0a; color: #fafaf7; }
.nwtm-v3 .v3-card.v3-card-dark:hover { background: #fafaf7; color: #0a0a0a; }
.nwtm-v3 .v3-card-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.32em;
  color: #909090;
  margin-bottom: 22px;
  line-height: 1;
  display: block;
  transition: color 0.45s;
}
.nwtm-v3 .v3-card.v3-card-dark .v3-card-num { color: #808080; }
.nwtm-v3 .v3-card.v3-card-dark:hover .v3-card-num { color: #909090; }
.nwtm-v3 .v3-card-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 30px;
  line-height: 1.02 !important;
  text-transform: uppercase;
  margin-bottom: 14px;
  letter-spacing: 0.005em;
  color: inherit;
}
.nwtm-v3 .v3-card-desc {
  font-family: 'Teko', sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.55;
  color: rgba(0,0,0,0.65);
  transition: color 0.45s;
}
.nwtm-v3 .v3-card.v3-card-dark .v3-card-desc { color: rgba(255,255,255,0.7); }
.nwtm-v3 .v3-card.v3-card-dark:hover .v3-card-desc { color: rgba(0,0,0,0.65); }

/* ============================================
   2. WHO WE SERVE
   ============================================ */
.nwtm-v3 .v3-aud {
  background: #050505;
  padding: 72px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-v3 .v3-aud-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

/* ============================================
   3. HOW WE TRAIN
   ============================================ */
.nwtm-v3 .v3-train {
  background: #000;
  padding: 96px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-v3 .v3-train-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.nwtm-v3 .v3-train-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 64px 64px;
  min-height: 320px;
  overflow: hidden;
}
.nwtm-v3 .v3-train-content {
  position: relative;
  z-index: 2;
  max-width: 540px;
}
.nwtm-v3 .v3-train-card:nth-child(2n) .v3-train-content {
  margin-left: auto;
  text-align: left;
}
.nwtm-v3 .v3-train-eyebrow {
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #909090;
  display: block;
  margin-bottom: 24px;
  line-height: 1;
  transition: color 0.45s;
}
.nwtm-v3 .v3-train-card.v3-card-dark .v3-train-eyebrow { color: #909090; }
.nwtm-v3 .v3-train-card.v3-card-dark:hover .v3-train-eyebrow { color: #707070; }
.nwtm-v3 .v3-train-card .v3-card-title { font-size: clamp(32px, 3.4vw, 52px); max-width: none; line-height: 0.96 !important; }
.nwtm-v3 .v3-train-bignum {
  position: absolute;
  top: 50%;
  right: 64px;
  transform: translateY(-50%);
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(140px, 13vw, 210px);
  line-height: 1;
  color: rgba(0,0,0,0.07);
  pointer-events: none;
  letter-spacing: -0.04em;
  transition: color 0.45s;
  z-index: 1;
}
.nwtm-v3 .v3-train-card:nth-child(2n) .v3-train-bignum {
  right: auto;
  left: 64px;
}
.nwtm-v3 .v3-train-card.v3-card-dark .v3-train-bignum { color: rgba(255,255,255,0.07); }
.nwtm-v3 .v3-train-card.v3-card-dark:hover .v3-train-bignum { color: rgba(0,0,0,0.07); }

/* ============================================
   4. PROGRAMS
   ============================================ */
.nwtm-v3 .v3-prog {
  background: #050505;
  padding: 72px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-v3 .v3-prog-card {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  background: #fafaf7;
  color: #0a0a0a;
  overflow: hidden;
  margin-bottom: 16px;
  transition: transform 0.5s ease;
}
.nwtm-v3 .v3-prog-card:hover { transform: translateY(-4px); }
.nwtm-v3 .v3-prog-card-soon { grid-template-columns: 1fr; background: #0a0a0a; color: #fafaf7; }
.nwtm-v3 .v3-prog-img-wrap {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  background: #1a1a1a;
}
.nwtm-v3 .v3-prog-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(15%);
  transition: transform 0.8s ease, filter 0.6s ease;
}
.nwtm-v3 .v3-prog-card:hover .v3-prog-img { transform: scale(1.04); filter: grayscale(0%); }
.nwtm-v3 .v3-prog-tag {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 2;
  font-family: 'Teko', sans-serif;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  color: #fff;
  padding: 8px 14px;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.3);
  line-height: 1;
}
.nwtm-v3 .v3-prog-content {
  padding: 56px 56px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.nwtm-v3 .v3-prog-content-soon { padding: 44px 56px; }
.nwtm-v3 .v3-prog-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(32px, 3vw, 44px);
  line-height: 1 !important;
  text-transform: uppercase;
  color: inherit;
  margin-bottom: 22px;
  letter-spacing: 0.005em;
}
.nwtm-v3 .v3-prog-divider {
  width: 100%;
  height: 1px;
  background: rgba(0,0,0,0.15);
  margin-bottom: 22px;
}
.nwtm-v3 .v3-prog-card-soon .v3-prog-divider { background: rgba(255,255,255,0.15); }
.nwtm-v3 .v3-prog-meta {
  display: flex;
  gap: 22px;
  margin-bottom: 22px;
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  line-height: 1;
}
.nwtm-v3 .v3-prog-meta span { display: inline-flex; align-items: center; gap: 12px; color: rgba(0,0,0,0.55); }
.nwtm-v3 .v3-prog-card-soon .v3-prog-meta span { color: rgba(255,255,255,0.55); }
.nwtm-v3 .v3-prog-meta span:not(:last-child)::after {
  content: '';
  width: 14px;
  height: 1px;
  background: rgba(0,0,0,0.35);
  display: block;
}
.nwtm-v3 .v3-prog-card-soon .v3-prog-meta span:not(:last-child)::after { background: rgba(255,255,255,0.35); }
.nwtm-v3 .v3-prog-desc {
  font-family: 'Teko', sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.55;
  color: rgba(0,0,0,0.7);
  margin-bottom: 28px;
}
.nwtm-v3 .v3-prog-card-soon .v3-prog-desc { color: rgba(255,255,255,0.7); }
.nwtm-v3 .v3-prog-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #fff !important;
  background: #0a0a0a;
  border: 1px solid #0a0a0a;
  width: fit-content;
  line-height: 1;
  transition: all 0.35s ease;
}
.nwtm-v3 .v3-prog-card-soon .v3-prog-cta { background: transparent; color: #fff !important; border-color: #fff; }
.nwtm-v3 .v3-prog-cta:hover { background: transparent; color: #0a0a0a !important; }
.nwtm-v3 .v3-prog-card-soon .v3-prog-cta:hover { background: #fff; color: #0a0a0a !important; }
.nwtm-v3 .v3-prog-cta:hover .arrow { transform: translate(3px, -3px); }

/* ============================================
   5. CAPABILITIES (horizontal scroll cards)
   ============================================ */
.nwtm-v3 .v3-cap {
  background: #000;
  padding: 72px 0;
  border-bottom: 1px solid #181818;
  overflow: hidden;
}
.nwtm-v3 .v3-cap-header-wrap { margin-bottom: 56px; }
.nwtm-v3 .v3-cap-carousel {
  position: relative;
}
.nwtm-v3 .v3-cap-fade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 88px;
  z-index: 3;
  pointer-events: none;
}
.nwtm-v3 .v3-cap-fade-left {
  left: 0;
  background: linear-gradient(to right, #000 0%, rgba(0,0,0,0.85) 35%, transparent 100%);
}
.nwtm-v3 .v3-cap-fade-right {
  right: 0;
  background: linear-gradient(to left, #000 0%, rgba(0,0,0,0.85) 35%, transparent 100%);
}
.nwtm-v3 .v3-cap-track-wrap {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 0 64px 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.nwtm-v3 .v3-cap-track-wrap::-webkit-scrollbar { display: none; }
.nwtm-v3 .v3-cap-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(310px, 340px);
  gap: 18px;
  padding-bottom: 4px;
}
.nwtm-v3 .v3-cap-card {
  scroll-snap-align: start;
  background: #fafaf7;
  color: #0a0a0a;
  padding: 36px 32px 38px;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.nwtm-v3 .v3-cap-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.3); }
.nwtm-v3 .v3-cap-nav {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 40px;
  padding: 0 64px;
}
.nwtm-v3 .v3-cap-arrow {
  background: transparent;
  border: 1px solid #ffffff;
  color: #ffffff;
  width: 52px;
  height: 52px;
  font-size: 22px;
  font-family: 'Teko', sans-serif;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
}
.nwtm-v3 .v3-cap-arrow:hover {
  background: #ffffff;
  color: #000000;
}
.nwtm-v3 .v3-cap-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 48px;
  line-height: 1;
  color: #c0c0c0;
  margin-bottom: 28px;
  letter-spacing: 0.005em;
}
.nwtm-v3 .v3-cap-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 24px;
  line-height: 1.08 !important;
  text-transform: uppercase;
  color: #0a0a0a;
  margin-bottom: 12px;
  letter-spacing: 0.005em;
}
.nwtm-v3 .v3-cap-desc {
  font-family: 'Teko', sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
  color: rgba(0,0,0,0.65);
}

/* ============================================
   6. WHY NW TACTICAL METHODS (grid)
   ============================================ */
.nwtm-v3 .v3-why {
  background: #050505;
  padding: 72px 0 0;
  border-bottom: 1px solid #181818;
}
.nwtm-v3 .v3-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.nwtm-v3 .v3-why-card {
  background: #fafaf7;
  color: #0a0a0a;
  padding: 26px 24px 24px;
  display: flex;
  flex-direction: column;
  transition: transform 0.4s ease;
}
.nwtm-v3 .v3-why-card:hover { transform: translateY(-3px); }
.nwtm-v3 .v3-why-icon {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 22px;
  font-weight: 300;
  color: #707070;
  margin-bottom: 22px;
  line-height: 1;
}
.nwtm-v3 .v3-why-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 20px;
  line-height: 1.1 !important;
  text-transform: uppercase;
  color: #0a0a0a;
  margin-bottom: 10px;
  letter-spacing: 0.005em;
}
.nwtm-v3 .v3-why-desc {
  font-family: 'Teko', sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: rgba(0,0,0,0.65);
}

/* Featured card - spans 2 rows on the right, image + content stacked */
.nwtm-v3 .v3-why-card-feat {
  grid-column: 3;
  grid-row: 1 / 3;
  padding: 0;
  background: #0a0a0a;
  color: #fafaf7;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: auto;
}
.nwtm-v3 .v3-why-feat-img {
  width: 100%;
  height: 170px;
  flex-shrink: 0;
  object-fit: cover;
  display: block;
  filter: grayscale(20%);
}
.nwtm-v3 .v3-why-feat-content {
  flex: 1;
  padding: 22px 26px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.nwtm-v3 .v3-why-feat-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 24px;
  line-height: 1.08 !important;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 10px;
  letter-spacing: 0.005em;
}
.nwtm-v3 .v3-why-feat-desc {
  font-family: 'Teko', sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: rgba(255,255,255,0.75);
  margin-bottom: 18px;
}
.nwtm-v3 .v3-why-feat-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 22px;
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #0a0a0a !important;
  background: #ffffff;
  border: 1px solid #ffffff;
  width: fit-content;
  line-height: 1;
  transition: all 0.35s ease;
  margin-top: auto;
}
.nwtm-v3 .v3-why-feat-cta:hover { background: transparent; color: #ffffff !important; }
.nwtm-v3 .v3-why-feat-cta:hover .arrow { transform: translate(3px, -3px); }

/* ============================================
   7. PHILOSOPHY QUOTE
   ============================================ */
.nwtm-v3 .v3-quote {
  background: #000;
  padding: 56px 64px 64px;
  text-align: center;
  border-bottom: 1px solid #181818;
}
.nwtm-v3 .v3-quote-inner { max-width: 1100px; margin: 0 auto; }
.nwtm-v3 .v3-quote-mark {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 72px;
  line-height: 0.4;
  color: #2a2a2a;
  margin-bottom: 30px;
  display: block;
}
.nwtm-v3 .v3-quote-text {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(28px, 3.4vw, 50px);
  line-height: 1.14 !important;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 26px;
  letter-spacing: 0.005em;
}
.nwtm-v3 .v3-quote-text .v3-hl { background: rgba(85, 85, 90, 0.8); }
.nwtm-v3 .v3-quote-attr {
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.4em;
  color: #707070;
}

/* ============================================
   8. FINAL CTA
   ============================================ */
.nwtm-v3 .v3-cta {
  position: relative;
  background: #000;
  padding: 96px 64px 72px;
  text-align: center;
  overflow: hidden;
  border-bottom: 1px solid #181818;
}
.nwtm-v3 .v3-cta-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.22;
  animation: v3HeroKB 40s ease-in-out infinite alternate;
}
.nwtm-v3 .v3-cta-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.88) 100%);
  pointer-events: none;
}
.nwtm-v3 .v3-cta-inner { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; }
.nwtm-v3 .v3-cta-eyebrow {
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.4em;
  color: #b0b0b0;
  margin-bottom: 26px;
  display: block;
}
.nwtm-v3 .v3-cta-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(46px, 6.5vw, 92px);
  line-height: 0.94 !important;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 26px;
  letter-spacing: 0.005em;
}
.nwtm-v3 .v3-cta-text {
  font-family: 'Teko', sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
  color: #c8c8c8;
  max-width: 620px;
  margin: 0 auto 40px;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1100px) {
  .nwtm-v3 .v3-hero-inner { padding: 56px 40px 70px; }
  .nwtm-v3 .v3-section-wrap { padding: 0 40px; }
  .nwtm-v3 .v3-aud, .nwtm-v3 .v3-train, .nwtm-v3 .v3-prog, .nwtm-v3 .v3-cap, .nwtm-v3 .v3-why { padding: 64px 0; }
  .nwtm-v3 .v3-prog-content { padding: 44px; }
  .nwtm-v3 .v3-prog-content-soon { padding: 36px 44px; }
  .nwtm-v3 .v3-prog-img-wrap { min-height: 380px; }
  .nwtm-v3 .v3-quote { padding: 56px 40px; }
  .nwtm-v3 .v3-cta { padding: 80px 40px 60px; }
  .nwtm-v3 .v3-cap-track-wrap { padding: 0 40px; }
  .nwtm-v3 .v3-cap-nav { padding: 0 40px; }
  .nwtm-v3 .v3-train-card { padding: 56px 48px; }
}

@media (max-width: 900px) {
  .nwtm-v3 .v3-hero { min-height: 64vh; }
  .nwtm-v3 .v3-hero-bg { object-position: center center; }
  .nwtm-v3 .v3-hero-inner { padding: 48px 32px 56px; }
  .nwtm-v3 .v3-hero-row { flex-direction: column; align-items: stretch; gap: 28px; margin-top: 24px; }
  .nwtm-v3 .v3-aud, .nwtm-v3 .v3-train, .nwtm-v3 .v3-prog, .nwtm-v3 .v3-cap, .nwtm-v3 .v3-why { padding: 52px 0; }
  .nwtm-v3 .v3-section-wrap { padding: 0 32px; }
  .nwtm-v3 .v3-aud-grid { grid-template-columns: 1fr; gap: 10px; }
  .nwtm-v3 .v3-train-card { padding: 44px 32px; min-height: 240px; }
  .nwtm-v3 .v3-train-card:nth-child(2n) .v3-train-bignum { left: 32px; }
  .nwtm-v3 .v3-train-bignum { right: 32px; font-size: clamp(110px, 16vw, 170px); }
  .nwtm-v3 .v3-prog-card { grid-template-columns: 1fr; }
  .nwtm-v3 .v3-prog-img-wrap { min-height: 280px; }
  .nwtm-v3 .v3-prog-content { padding: 36px 32px; }
  .nwtm-v3 .v3-prog-content-soon { padding: 32px 32px; }
  .nwtm-v3 .v3-why-grid { grid-template-columns: 1fr 1fr 1.2fr; gap: 10px; }
  .nwtm-v3 .v3-why-card-feat { grid-column: 3; grid-row: 1 / 3; }
  .nwtm-v3 .v3-cap-track-wrap { padding: 0 32px; }
  .nwtm-v3 .v3-cap-track { grid-auto-columns: 280px; }
  .nwtm-v3 .v3-cap-nav { padding: 0 32px; margin-top: 32px; }
  .nwtm-v3 .v3-cap-fade { width: 56px; }
  .nwtm-v3 .v3-quote { padding: 44px 32px; }
  .nwtm-v3 .v3-cta { padding: 64px 32px 52px; }
  .nwtm-v3 .v3-section-header { gap: 28px; margin-bottom: 36px; }
}

@media (max-width: 600px) {
  .nwtm-v3 .v3-hero {
    display: flex;
    align-items: flex-end;
    min-height: 42vh;
  }
  .nwtm-v3 .v3-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: none !important;
    animation: none;
    opacity: 0.92;
  }
  .nwtm-v3 .v3-hero-overlay {
    display: block;
    background:
      radial-gradient(ellipse at 50% 70%, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.5) 100%),
      linear-gradient(to top, #000 0%, rgba(0,0,0,0.35) 30%, rgba(0,0,0,0.1) 65%, rgba(0,0,0,0.4) 100%);
  }
  .nwtm-v3 .v3-hero-inner { padding: 32px 22px 30px; }
  /* Let the H1 wrap and scale up so it reads clearly larger than the
     section titles below it. The base rule floors at 26px with nowrap,
     which pinned it smaller than body on every phone. */
  .nwtm-v3 .v3-hero-title,
  .nwtm-v3 .v3-hero-title-2 {
    font-size: clamp(38px, 10.5vw, 46px) !important;
    line-height: 0.92 !important;
    white-space: normal !important;
  }
  /* Reserve two lines on the typewriter row so cycling phrases don't push
     the subtitle and buttons up and down as the text types. */
  .nwtm-v3 .v3-hero-title-2 { min-height: 1.9em; }
  /* Let the typed phrase flow as inline text rather than an inline-block box.
     When the longest phrase ("Perform Under Pressure.") wraps to two lines,
     the cursor then follows the last character instead of dropping to its
     own line below. Covers both the CSS-only and JS-driven typewriter. */
  .nwtm-v3 .v3-hero-title-2 .v3-tw-css,
  .nwtm-v3 .v3-hero-title-2 #v3-typewriter {
    display: inline !important;
  }
  .nwtm-v3 .v3-hero-title { margin-bottom: 4px; }
  .nwtm-v3 .v3-hero-row { margin-top: 22px; gap: 22px; }
  .nwtm-v3 .v3-hero-subtitle { font-size: 16px; max-width: none; }
  body.home .nwtm-v3 .v3-hero-row .v3-hero-ctas {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;   /* both buttons match the wider label */
    gap: 10px !important;
    row-gap: 10px !important;
    width: fit-content !important;     /* shrink to the buttons, not full width */
    max-width: 100% !important;
  }
  body.home .nwtm-v3 .v3-hero-row .v3-hero-ctas a.v3-btn-primary,
  body.home .nwtm-v3 .v3-hero-row .v3-hero-ctas a.v3-btn-secondary {
    display: flex !important;
    width: auto !important;            /* size to content, no longer full-bleed */
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
    margin: 0 !important;
    padding: 14px 28px !important;
    font-size: 13px !important;
    letter-spacing: 0.16em !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    vertical-align: top !important;
  }
  /* Dissolve WordPress wpautop paragraph/break wrappers that add the gap on mobile */
  body.home .nwtm-v3 .v3-hero-row .v3-hero-ctas p { display: contents !important; }
  body.home .nwtm-v3 .v3-hero-row .v3-hero-ctas br { display: none !important; }
  body.home .nwtm-v3 .v3-hero-row .v3-hero-ctas * { margin: 0 !important; }
  .nwtm-v3 .v3-cursor { width: 3px; }
  .nwtm-v3 .v3-section-wrap { padding: 0 22px; }
  .nwtm-v3 .v3-aud, .nwtm-v3 .v3-train, .nwtm-v3 .v3-prog, .nwtm-v3 .v3-cap, .nwtm-v3 .v3-why { padding: 36px 0; }
  .nwtm-v3 .v3-section-header { margin-bottom: 28px !important; gap: 18px; }
  .nwtm-v3 .v3-card { padding: 36px 28px 32px; }
  .nwtm-v3 .v3-train-card {
    padding: 36px 24px;
    min-height: 200px;
  }
  .nwtm-v3 .v3-train-content,
  .nwtm-v3 .v3-train-card:nth-child(2n) .v3-train-content { margin-left: 0; max-width: 100%; }
  .nwtm-v3 .v3-train-bignum {
    font-size: 100px;
    right: 12px;
    top: auto;
    bottom: -8px;
    transform: none;
  }
  .nwtm-v3 .v3-train-card:nth-child(2n) .v3-train-bignum { left: auto; right: 12px; }
  .nwtm-v3 .v3-train-card .v3-card-title { font-size: 30px; }
  .nwtm-v3 .v3-prog-content { padding: 28px 22px; }
  .nwtm-v3 .v3-prog-content-soon { padding: 26px 22px 24px; }
  .nwtm-v3 .v3-prog-img-wrap { min-height: 240px; }
  .nwtm-v3 .v3-cap-track-wrap { padding: 0 22px; }
  .nwtm-v3 .v3-cap-track { grid-auto-columns: 260px; }
  .nwtm-v3 .v3-cap-card { padding: 28px 24px 30px; min-height: 280px; }
  .nwtm-v3 .v3-cap-nav { padding: 0 22px; margin-top: 28px; }
  .nwtm-v3 .v3-cap-fade { width: 36px; }
  .nwtm-v3 .v3-cap-arrow { width: 46px; height: 46px; font-size: 20px; }
  .nwtm-v3 .v3-why-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .nwtm-v3 .v3-why-card-feat { grid-column: 1; grid-row: auto; grid-template-rows: 200px auto; }
  .nwtm-v3 .v3-quote { padding: 36px 22px; }
  .nwtm-v3 .v3-cta { padding: 52px 22px 40px; }
  .nwtm-v3 .v3-section-title { font-size: 36px; }
}


/* =====================================================
   NWTM - CONSULTING (inner page)
   Scoped under .nwtm-v3 .nwtm-cons. Text-only header, no hero image.
   Reuses homepage tokens: fonts, .v3-eyebrow, .v3-hl, .v3-btn-*, .v3-section-wrap,
   .v3-section-header. Append this AFTER your homepage CSS in Additional CSS.
   ===================================================== */

.nwtm-cons { background: #000; }
.nwtm-cons, .nwtm-cons *, .nwtm-cons *::before, .nwtm-cons *::after { box-sizing: border-box; }
.nwtm-cons h1, .nwtm-cons h2, .nwtm-cons h3, .nwtm-cons p, .nwtm-cons span { margin: 0; padding: 0; }

/* Shared inner-page section title (controls its own sizing) */
.nwtm-cons .cons-sec-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(34px, 4.6vw, 64px);
  line-height: 0.98 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  max-width: 880px;
}

/* ============================================
   PAGE HEADER  (no image)
   ============================================ */
.nwtm-cons .cons-head {
  background: #000;
  padding: 64px 0 58px;
  border-bottom: 1px solid #181818;
}
.nwtm-cons .cons-head-wrap {
  display: flex;
  gap: 34px;
  align-items: stretch;
}
.nwtm-cons .cons-head-bar {
  flex: none;
  width: 2px;
  background: linear-gradient(#ffffff, rgba(255,255,255,0.08));
}
.nwtm-cons .cons-head-body {
  flex: 1;
  max-width: 980px;
}
.nwtm-cons .cons-head .v3-eyebrow { margin-bottom: 28px; }
.nwtm-cons .cons-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(46px, 6.5vw, 98px);
  line-height: 0.95 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 0 0 28px 0 !important;
}
.nwtm-cons .cons-lead {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 19px;
  line-height: 1.5;
  color: #c8c8c8;
  max-width: 700px;
  margin: 0 0 34px 0 !important;
}
.nwtm-cons .cons-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.26em;
  color: #808080;
  line-height: 1;
}
.nwtm-cons .cons-meta span { display: inline-flex; align-items: center; gap: 18px; }
.nwtm-cons .cons-meta span:not(:last-child)::after {
  content: '';
  display: block;
  width: 14px;
  height: 1px;
  background: #3c3c3c;
}

/* ============================================
   CONSULTING SERVICES  (editorial index)
   ============================================ */
.nwtm-cons .cons-services {
  background: #050505;
  padding: 84px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-cons .cons-services .v3-section-header { margin-bottom: 20px; }
.nwtm-cons .cons-index { border-top: 1px solid #1e1e1e; }
.nwtm-cons .cons-row {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 28px;
  padding: 34px 0;
  border-bottom: 1px solid #1e1e1e;
  align-items: start;
  transition: background 0.35s ease, padding-left 0.35s ease;
}
.nwtm-cons .cons-row:hover {
  background: rgba(255,255,255,0.02);
  padding-left: 16px;
}
.nwtm-cons .cons-row-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #5a5a5a;
}
.nwtm-cons .cons-row-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.04 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 0 0 10px 0 !important;
}
.nwtm-cons .cons-row-desc {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.55;
  color: #9a9a9a;
  max-width: 780px;
}

/* ============================================
   HOW WE WORK  (bone band, vertical steps)
   ============================================ */
.nwtm-cons .cons-process {
  background: #fafaf7;
  color: #0a0a0a;
  padding: 88px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-cons .cons-process .v3-eyebrow { color: #5a5a5a; }
.nwtm-cons .cons-process .v3-eyebrow::before { background: #b0b0b0; }
.nwtm-cons .cons-process .cons-sec-title { color: #0a0a0a; }
.nwtm-cons .cons-hl {
  background-image: linear-gradient(rgba(10,10,10,1), rgba(10,10,10,1));
  background-repeat: no-repeat;
  background-size: 102% 74%;
  background-position: -1% 58%;
  padding: 0 0.14em;
  color: #fafaf7;
}
.nwtm-cons .cons-steps {
  margin-top: 50px;
  max-width: 860px;
}
.nwtm-cons .cons-step {
  position: relative;
  padding: 0 0 42px 66px;
}
.nwtm-cons .cons-step:last-child { padding-bottom: 0; }
.nwtm-cons .cons-step::before {
  content: '';
  position: absolute;
  left: 19px;
  top: 8px;
  bottom: -8px;
  width: 1px;
  background: rgba(0,0,0,0.18);
}
.nwtm-cons .cons-step:last-child::before { display: none; }
.nwtm-cons .cons-step-num {
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
  border: 1px solid #0a0a0a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 16px;
  line-height: 1;
  color: #0a0a0a;
  background: #fafaf7;
  z-index: 2;
}
.nwtm-cons .cons-step-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.05 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #0a0a0a;
  margin: 4px 0 8px 0 !important;
}
.nwtm-cons .cons-step-desc {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(0,0,0,0.65);
  max-width: 640px;
}

/* ============================================
   PRINCIPLE  (left-accent statement)
   ============================================ */
.nwtm-cons .cons-principle {
  background: #000;
  padding: 78px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-cons .cons-principle-block {
  border-left: 2px solid #ffffff;
  padding-left: 34px;
  max-width: 920px;
}
.nwtm-cons .cons-principle-text {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(24px, 3vw, 40px);
  line-height: 1.12 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 0 0 16px 0 !important;
}
.nwtm-cons .cons-principle-attr {
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.34em;
  color: #707070;
}

/* ============================================
   FINAL CTA  (no image)
   ============================================ */
.nwtm-cons .cons-cta {
  background: #050505;
  padding: 92px 0;
  text-align: center;
}
.nwtm-cons .cons-cta-inner { max-width: 900px; margin: 0 auto; }
.nwtm-cons .cons-cta .v3-eyebrow { justify-content: center; margin-bottom: 24px; }
.nwtm-cons .cons-cta-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(40px, 6vw, 84px);
  line-height: 0.96 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 0 0 22px 0 !important;
}
.nwtm-cons .cons-cta-text {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 1.5;
  color: #c8c8c8;
  max-width: 600px;
  margin: 0 auto 36px !important;
}

/* ============================================
   FAQ  (details/summary accordion)
   ============================================ */
.nwtm-cons .cons-faq {
  background: #000;
  padding: 84px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-cons .cons-faq-list {
  border-top: 1px solid #1e1e1e;
  max-width: 940px;
}
.nwtm-cons .cons-faq-item { border-bottom: 1px solid #1e1e1e; }
.nwtm-cons .cons-faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 26px 0;
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.12;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #ffffff;
  transition: color 0.3s ease;
}
.nwtm-cons .cons-faq-item summary::-webkit-details-marker { display: none; }
.nwtm-cons .cons-faq-item summary:hover { color: #bdbdbd; }
.nwtm-cons .cons-faq-icon {
  flex: none;
  position: relative;
  width: 16px;
  height: 16px;
}
.nwtm-cons .cons-faq-icon::before,
.nwtm-cons .cons-faq-icon::after {
  content: '';
  position: absolute;
  background: #888888;
  transition: transform 0.3s ease, background 0.3s ease;
}
.nwtm-cons .cons-faq-icon::before { left: 0; top: 7px; width: 16px; height: 2px; }
.nwtm-cons .cons-faq-icon::after { left: 7px; top: 0; width: 2px; height: 16px; }
.nwtm-cons .cons-faq-item[open] .cons-faq-icon::after { transform: scaleY(0); }
.nwtm-cons .cons-faq-item summary:hover .cons-faq-icon::before,
.nwtm-cons .cons-faq-item summary:hover .cons-faq-icon::after { background: #ffffff; }
.nwtm-cons .cons-faq-answer {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.6;
  color: #9a9a9a;
  max-width: 840px;
  padding: 0 0 28px 0;
  margin: 0;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 900px) {
  .nwtm-cons .cons-head { padding: 50px 0 46px; }
  .nwtm-cons .cons-services,
  .nwtm-cons .cons-process,
  .nwtm-cons .cons-principle,
  .nwtm-cons .cons-faq,
  .nwtm-cons .cons-cta { padding: 60px 0; }
  .nwtm-cons .cons-head-wrap { gap: 26px; }
}

@media (max-width: 600px) {
  .nwtm-cons .cons-head { padding: 40px 0 38px; }
  .nwtm-cons .cons-head-wrap { gap: 20px; }
  .nwtm-cons .cons-lead { font-size: 17px; }
  .nwtm-cons .cons-services,
  .nwtm-cons .cons-process,
  .nwtm-cons .cons-principle,
  .nwtm-cons .cons-faq,
  .nwtm-cons .cons-cta { padding: 46px 0; }
  .nwtm-cons .cons-faq-item summary { padding: 22px 0; gap: 20px; }
  .nwtm-cons .cons-faq-answer { padding-bottom: 24px; }
  .nwtm-cons .cons-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 26px 0;
  }
  .nwtm-cons .cons-row:hover { padding-left: 0; background: transparent; }
  .nwtm-cons .cons-row-num { font-size: 22px; color: #6a6a6a; }
  .nwtm-cons .cons-steps { margin-top: 38px; }
  .nwtm-cons .cons-step { padding: 0 0 34px 52px; }
  .nwtm-cons .cons-step::before { left: 16px; }
  .nwtm-cons .cons-step-num { width: 34px; height: 34px; font-size: 14px; }
  .nwtm-cons .cons-principle-block { padding-left: 22px; }
  .nwtm-cons .cons-meta { gap: 12px; letter-spacing: 0.22em; }
  .nwtm-cons .cons-meta span { gap: 12px; }
}


/* =====================================================
   NWTM - ABOUT (inner page)
   Scoped under .nwtm-v3 .nwtm-about. Text-only header, no hero image.
   In-content images allowed (founder + philosophy band).
   Reuses global tokens: .v3-eyebrow, .v3-hl, .v3-btn-*, .v3-section-wrap,
   .v3-section-header. Append AFTER your homepage CSS in Additional CSS.
   ===================================================== */

.nwtm-about { background: #000; }
.nwtm-about, .nwtm-about *, .nwtm-about *::before, .nwtm-about *::after { box-sizing: border-box; }
.nwtm-about h1, .nwtm-about h2, .nwtm-about h3, .nwtm-about p, .nwtm-about span { margin: 0; padding: 0; }
.nwtm-about img { display: block; max-width: 100%; }

.nwtm-about .about-sec-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(34px, 4.6vw, 64px);
  line-height: 0.98 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  max-width: 880px;
}

/* ============================================
   PAGE HEADER  (no image)
   ============================================ */
.nwtm-about .about-head {
  background: #000;
  padding: 64px 0 58px;
  border-bottom: 1px solid #181818;
}
.nwtm-about .about-head-wrap { display: flex; gap: 34px; align-items: stretch; }
.nwtm-about .about-head-bar {
  flex: none;
  width: 2px;
  background: linear-gradient(#ffffff, rgba(255,255,255,0.08));
}
.nwtm-about .about-head-body { flex: 1; max-width: 1000px; }
.nwtm-about .about-head .v3-eyebrow { margin-bottom: 28px; }
.nwtm-about .about-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(46px, 6.5vw, 98px);
  line-height: 0.95 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 0 0 28px 0 !important;
}
.nwtm-about .about-lead {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 19px;
  line-height: 1.5;
  color: #c8c8c8;
  max-width: 760px;
}

/* ============================================
   FOUNDER  (two column: text + image)
   ============================================ */
.nwtm-about .about-founder {
  background: #050505;
  padding: 88px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-about .about-founder-grid {
  display: grid;
  grid-template-columns: 1fr 0.92fr;
  gap: 64px;
  align-items: center;
}
.nwtm-about .about-founder .v3-eyebrow { margin-bottom: 24px; }
.nwtm-about .about-founder-title { margin-bottom: 26px; }
.nwtm-about .about-founder-text p {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 17px;
  line-height: 1.6;
  color: #b4b4b4;
  margin: 0 0 18px 0;
}
.nwtm-about .about-founder-text p:last-child { margin-bottom: 0; }
.nwtm-about .about-founder-media { position: relative; }
.nwtm-about .about-founder-img {
  width: 100%;
  height: 100%;
  min-height: 440px;
  max-height: 600px;
  object-fit: cover;
  filter: grayscale(18%);
}
.nwtm-about .about-founder-caption {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 16px 20px;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #d0d0d0;
}

/* Stats row */
.nwtm-about .about-stats {
  background: #000;
  padding: 0;
  border-bottom: 1px solid #181818;
}
.nwtm-about .about-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.nwtm-about .about-stat {
  padding: 44px 24px;
  text-align: center;
  border-right: 1px solid #181818;
}
.nwtm-about .about-stat:last-child { border-right: none; }
.nwtm-about .about-stat-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1;
  color: #ffffff;
  letter-spacing: 0.01em;
  margin-bottom: 12px;
}
.nwtm-about .about-stat-label {
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  color: #8a8a8a;
}

/* ============================================
   CREDENTIALS  (grid)
   ============================================ */
.nwtm-about .about-creds {
  background: #000;
  padding: 84px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-about .about-creds-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #1e1e1e;
  border: 1px solid #1e1e1e;
}
.nwtm-about .about-cred {
  background: #050505;
  padding: 28px 26px;
  display: flex;
  align-items: center;
  gap: 16px;
  transition: background 0.35s ease;
}
.nwtm-about .about-cred:hover { background: #0e0e0e; }
.nwtm-about .about-cred-mark {
  flex: none;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 18px;
  color: #6a6a6a;
  line-height: 1;
}
.nwtm-about .about-cred-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 19px;
  line-height: 1.06 !important;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #ffffff;
}

/* ============================================
   WHAT WE DELIVER  (bone band)
   ============================================ */
.nwtm-about .about-deliver {
  background: #fafaf7;
  color: #0a0a0a;
  padding: 88px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-about .about-deliver .v3-eyebrow { color: #5a5a5a; }
.nwtm-about .about-deliver .v3-eyebrow::before { background: #b0b0b0; }
.nwtm-about .about-deliver .about-sec-title { color: #0a0a0a; }
.nwtm-about .about-hl {
  background-image: linear-gradient(rgba(10,10,10,1), rgba(10,10,10,1));
  background-repeat: no-repeat;
  background-size: 102% 74%;
  background-position: -1% 58%;
  padding: 0 0.14em;
  color: #fafaf7;
}
.nwtm-about .about-deliver-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 56px;
  margin-top: 12px;
}
.nwtm-about .about-deliver-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}
.nwtm-about .about-deliver-item-mark {
  flex: none;
  width: 8px;
  height: 8px;
  margin-top: 7px;
  background: #0a0a0a;
}
.nwtm-about .about-deliver-item-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.08 !important;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #0a0a0a;
}

/* ============================================
   PHILOSOPHY  (image band with overlay)
   ============================================ */
.nwtm-about .about-phil {
  position: relative;
  padding: 110px 0;
  text-align: center;
  overflow: hidden;
  border-bottom: 1px solid #181818;
}
.nwtm-about .about-phil-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  opacity: 0.4;
}
.nwtm-about .about-phil-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.85) 100%);
  pointer-events: none;
}
.nwtm-about .about-phil-inner {
  position: relative;
  z-index: 2;
  max-width: 1100px;
  margin: 0 auto;
}
.nwtm-about .about-phil-text {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(28px, 3.6vw, 52px);
  line-height: 1.12 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 0 0 22px 0 !important;
}
.nwtm-about .about-phil-attr {
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.4em;
  color: #b0b0b0;
}

/* ============================================
   FINAL CTA  (no image)
   ============================================ */
.nwtm-about .about-cta { background: #050505; padding: 92px 0; text-align: center; }
.nwtm-about .about-cta-inner { max-width: 920px; margin: 0 auto; }
.nwtm-about .about-cta .v3-eyebrow { justify-content: center; margin-bottom: 24px; }
.nwtm-about .about-cta-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(40px, 6vw, 84px);
  line-height: 0.96 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 0 0 22px 0 !important;
}
.nwtm-about .about-cta-text {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 1.5;
  color: #c8c8c8;
  max-width: 640px;
  margin: 0 auto 36px !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 900px) {
  .nwtm-about .about-head { padding: 50px 0 46px; }
  .nwtm-about .about-founder,
  .nwtm-about .about-creds,
  .nwtm-about .about-deliver,
  .nwtm-about .about-cta { padding: 60px 0; }
  .nwtm-about .about-phil { padding: 84px 0; }
  .nwtm-about .about-head-wrap { gap: 26px; }
  .nwtm-about .about-founder-grid { grid-template-columns: 1fr; gap: 36px; }
  .nwtm-about .about-founder-img { min-height: 360px; max-height: 460px; }
  .nwtm-about .about-creds-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .nwtm-about .about-head { padding: 40px 0 38px; }
  .nwtm-about .about-head-wrap { gap: 20px; }
  .nwtm-about .about-lead { font-size: 17px; }
  .nwtm-about .about-founder,
  .nwtm-about .about-creds,
  .nwtm-about .about-deliver,
  .nwtm-about .about-cta { padding: 46px 0; }
  .nwtm-about .about-phil { padding: 64px 0; }
  .nwtm-about .about-founder-grid { gap: 28px; }
  .nwtm-about .about-founder-img { min-height: 300px; }
  .nwtm-about .about-stat { padding: 30px 12px; }
  .nwtm-about .about-stat-label { letter-spacing: 0.2em; font-size: 11px; }
  .nwtm-about .about-creds-grid { grid-template-columns: 1fr; }
  .nwtm-about .about-cred { padding: 22px 22px; }
  .nwtm-about .about-deliver-grid { grid-template-columns: 1fr; gap: 0; }
}


/* =====================================================
   NWTM - MEDIA (inner page)
   Scoped under .nwtm-v3 .media-feed. Text-only header, no hero image.
   Hosts the Smash Balloon Instagram feed [instagram-feed feed=1] and
   restyles it to match the homepage feed. Append AFTER your homepage CSS.
   ===================================================== */

.nwtm-media { background: #000; }
.nwtm-media, .nwtm-media *, .nwtm-media *::before, .nwtm-media *::after { box-sizing: border-box; }
.nwtm-media h1, .nwtm-media p, .nwtm-media span { margin: 0; padding: 0; }

/* ============================================
   PAGE HEADER  (no image)
   ============================================ */
.nwtm-media .media-head {
  background: #000;
  padding: 64px 0 52px;
}
.nwtm-media .media-head-wrap { display: flex; gap: 34px; align-items: stretch; }
.nwtm-media .media-head-bar {
  flex: none;
  width: 2px;
  background: linear-gradient(#ffffff, rgba(255,255,255,0.08));
}
.nwtm-media .media-head-body { flex: 1; max-width: 1000px; }
.nwtm-media .media-head .v3-eyebrow { margin-bottom: 28px; }
.nwtm-media .media-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(46px, 6.5vw, 98px);
  line-height: 0.95 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 0 0 26px 0 !important;
}
.nwtm-media .media-lead {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 19px;
  line-height: 1.5;
  color: #c8c8c8;
  max-width: 640px;
  margin: 0 0 32px 0 !important;
}

/* ============================================
   SMASH BALLOON FEED  (Instagram)
   Restyled to match the homepage gallery grid.
   ============================================ */
.nwtm-v3 .media-feed #sb_instagram {
  background: transparent !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 8px 64px 84px !important;
  width: 100% !important;
}
.nwtm-v3 .media-feed .sb_instagram_header,
.nwtm-v3 .media-feed #sb_instagram_header { display: none !important; }
.nwtm-v3 .media-feed #sbi_images {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.nwtm-v3 .media-feed .sbi_item {
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 4/5;
  overflow: hidden;
}
.nwtm-v3 .media-feed .sbi_photo_wrap,
.nwtm-v3 .media-feed .sbi_photo {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: hidden;
  background: #1a1a1a;
}
.nwtm-v3 .media-feed .sbi_photo img,
.nwtm-v3 .media-feed .sbi_item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  filter: grayscale(20%);
  transition: filter 0.4s ease, transform 0.5s ease;
}
.nwtm-v3 .media-feed .sbi_item:hover img {
  filter: grayscale(0%);
  transform: scale(1.04);
}
.nwtm-v3 .media-feed .sbi_caption,
.nwtm-v3 .media-feed .sbi_caption_wrap { display: none !important; }

/* Load More button - kept on the Media page, styled on-brand */
.nwtm-v3 .media-feed #sbi_load {
  display: flex !important;
  justify-content: center !important;
  margin-top: 36px !important;
  padding: 0 !important;
}
.nwtm-v3 .media-feed .sbi_load_btn {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Teko', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 14px 34px !important;
  height: auto !important;
  transition: background 0.35s ease, color 0.35s ease !important;
}
.nwtm-v3 .media-feed .sbi_load_btn:hover { background: #ffffff !important; color: #000000 !important; }
.nwtm-v3 .media-feed .sbi_load_btn .sbi_btn_text,
.nwtm-v3 .media-feed .sbi_load_btn .fa { color: inherit !important; }

.nwtm-v3 .media-feed .sbi_follow_btn { display: none !important; }
/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 900px) {
  .nwtm-media .media-head { padding: 50px 0 44px; }
  .nwtm-media .media-head-wrap { gap: 26px; }
  .nwtm-v3 .media-feed #sb_instagram { padding: 8px 40px 64px !important; }
  .nwtm-v3 .media-feed #sbi_images { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
}

@media (max-width: 600px) {
  .nwtm-media .media-head { padding: 40px 0 36px; }
  .nwtm-media .media-head-wrap { gap: 20px; }
  .nwtm-media .media-lead { font-size: 17px; }
  .nwtm-v3 .media-feed #sb_instagram { padding: 6px 22px 48px !important; }
  .nwtm-v3 .media-feed #sbi_images { grid-template-columns: 1fr !important; gap: 14px !important; }
} 

/* =====================================================
   NWTM - CONTACT PAGE
   Wrap the Custom HTML block content in <div class="nwtm-v3 nwtm-contact">.
   Uses the shared v3 tokens (v3-eyebrow, v3-hl). Page rules use the single
   .nwtm-contact ancestor. Append AFTER your homepage CSS in Additional CSS.
   ===================================================== */

.nwtm-contact { background: #000; }

/* ===== Header ===== */
.nwtm-contact .contact-header {
  max-width: 1280px;
  margin: 0 auto;
  padding: 96px 64px 40px;
}
.nwtm-contact .contact-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(54px, 8vw, 120px);
  line-height: 0.92;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 18px 0 22px 0;
}
.nwtm-contact .contact-lead {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.5;
  color: #b8b8b8;
  max-width: 640px;
  margin: 0;
}

/* ===== Body grid ===== */
.nwtm-contact .contact-body {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 64px 110px;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 64px;
  align-items: start;
}

/* ===== Info column ===== */
.nwtm-contact .contact-block { margin-bottom: 38px; }
.nwtm-contact .contact-block:last-child { margin-bottom: 0; }
.nwtm-contact .contact-subhead {
  font-family: 'Teko', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #8a8a8a;
  margin: 0 0 12px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #1e1e1e;
}
.nwtm-contact .contact-block p {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 17px;
  line-height: 1.5;
  color: #aeaeae;
  margin: 0;
}
.nwtm-contact .contact-details { list-style: none; margin: 0; padding: 0; }
.nwtm-contact .contact-details li {
  display: flex;
  flex-direction: column;
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 17px;
  color: #cfcfcf;
  margin-bottom: 14px;
}
.nwtm-contact .contact-details li:last-child { margin-bottom: 0; }
.nwtm-contact .contact-label {
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #777777;
  margin-bottom: 2px;
}
.nwtm-contact .contact-details a { color: #ffffff; text-decoration: none; transition: color 0.3s ease; }
.nwtm-contact .contact-details a:hover { color: #bdbdbd; }
.nwtm-contact .contact-social { display: flex; flex-wrap: wrap; gap: 18px; }
.nwtm-contact .contact-social a {
  font-family: 'Teko', sans-serif;
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #cfcfcf;
  text-decoration: none;
  transition: color 0.3s ease;
}
.nwtm-contact .contact-social a:hover { color: #ffffff; }

/* ===== Formidable form on a charcoal panel ===== */
.nwtm-contact .contact-form {
  width: 100%;
  background: #111111;
  border: 1px solid #262626;
  padding: 48px 44px 44px;
}
.nwtm-contact .frm_forms,
.nwtm-contact .frm_form_fields,
.nwtm-contact .frm-show-form { width: 100%; max-width: 100%; }

.nwtm-contact .frm_form_field { margin-bottom: 22px; }

/* Labels */
.nwtm-contact .frm_primary_label,
.nwtm-contact .frm_form_field > label {
  display: block;
  font-family: 'Teko', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #9a9a9a;
  margin-bottom: 8px;
}
.nwtm-contact .frm_required { color: #6a6a6a !important; }

/* Combo field sublabels (First / Last) - higher specificity to beat Formidable's blue */
.nwtm-contact .frm_forms label:not(.frm_primary_label) {
  font-family: 'Teko', sans-serif !important;
  font-weight: 300 !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #7a7a7a !important;
  margin-top: 6px !important;
}

/* Force a clean 2-up combo layout (First / Last) with even spacing */
.nwtm-contact .frm_combo_inputs_container {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.nwtm-contact .frm_combo_inputs_container > * { margin-bottom: 0 !important; }

/* Inputs */
.nwtm-contact input[type="text"],
.nwtm-contact input[type="email"],
.nwtm-contact input[type="tel"],
.nwtm-contact input[type="number"],
.nwtm-contact input[type="url"],
.nwtm-contact select,
.nwtm-contact textarea {
  width: 100%;
  background: #1c1c1c;
  border: 1px solid #3a3a3a;
  border-radius: 0;
  padding: 14px 16px;
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 17px;
  color: #f2f2f2;
  box-shadow: none;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.nwtm-contact textarea { min-height: 150px; resize: vertical; }
.nwtm-contact input:focus,
.nwtm-contact select:focus,
.nwtm-contact textarea:focus {
  outline: none;
  border-color: #6f6f6f;
  background: #222222;
}
.nwtm-contact input::placeholder,
.nwtm-contact textarea::placeholder { color: #ffffff !important; opacity: 1 !important; }
.nwtm-contact input::-webkit-input-placeholder,
.nwtm-contact textarea::-webkit-input-placeholder { color: #ffffff !important; opacity: 1 !important; }
.nwtm-contact input::-moz-placeholder,
.nwtm-contact textarea::-moz-placeholder { color: #ffffff !important; opacity: 1 !important; }
.nwtm-contact input:-ms-input-placeholder,
.nwtm-contact textarea:-ms-input-placeholder { color: #ffffff !important; opacity: 1 !important; }

/* Select dropdown - custom arrow, no clipped text */
.nwtm-contact select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: auto;
  line-height: 1.4;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239a9a9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px;
}
.nwtm-contact select option { background: #1c1c1c; color: #f2f2f2; }

/* Field description text */
.nwtm-contact .frm_description {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: #7d7d7d;
  margin-top: 6px;
}

/* Radio / checkbox option labels */
.nwtm-contact .frm_opt_container label {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 16px;
  letter-spacing: 0;
  text-transform: none;
  color: #cfcfcf;
}

/* Submit button - white on the charcoal panel, inverts on hover */
.nwtm-contact .frm_submit { margin-top: 10px; }
.nwtm-contact .frm_submit button,
.nwtm-contact .frm_submit input[type="submit"],
.nwtm-contact .frm_button_submit,
.nwtm-contact button[type="submit"] {
  display: inline-block;
  background: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #ffffff !important;
  border-radius: 0 !important;
  padding: 16px 46px;
  font-family: 'Teko', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease;
}
.nwtm-contact .frm_submit button:hover,
.nwtm-contact .frm_submit input[type="submit"]:hover,
.nwtm-contact .frm_button_submit:hover,
.nwtm-contact button[type="submit"]:hover {
  background: transparent !important;
  color: #ffffff !important;
}

/* Validation + system messages */
.nwtm-contact .frm_error {
  font-family: 'Teko', sans-serif;
  font-size: 14px;
  color: #d98a8a;
  margin-top: 6px;
}
.nwtm-contact .frm_error_style,
.nwtm-contact .frm_message {
  font-family: 'Teko', sans-serif;
  background: #1c1c1c;
  border: 1px solid #3a3a3a;
  color: #cfcfcf;
  padding: 16px 18px;
}

/* ===== Responsive ===== */
@media (max-width: 980px) {
  .nwtm-contact .contact-header { padding: 72px 40px 32px; }
  .nwtm-contact .contact-body {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 20px 40px 80px;
  }
  .nwtm-contact .contact-form { padding: 40px 36px 36px; }
}
@media (max-width: 600px) {
  .nwtm-contact .contact-header { padding: 56px 22px 26px; }
  .nwtm-contact .contact-title {
    font-size: clamp(38px, 13vw, 56px);
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }
  .nwtm-contact .contact-body { padding: 16px 22px 64px; gap: 40px; }
  .nwtm-contact .contact-form { padding: 30px 22px 28px; }
  .nwtm-contact .frm_combo_inputs_container { grid-template-columns: 1fr; gap: 14px; }
}

/* =====================================================
   NWTM - COURSE DESCRIPTION SYSTEM (WooCommerce)
   Add this ONCE to Additional CSS. Then paste only the HTML body
   (the <div class="nwtm-course"> block) into each course Description.
   !important is used on layout rules so WooCommerce tab styles cannot
   override the grids and lists.
   ===================================================== */

.nwtm-course .course-wrap { max-width: 1080px; margin: 0 auto; padding: 6px 0 22px; }

.nwtm-course .course-eyebrow {
  display: inline-block; font-family: 'Teko', sans-serif; font-size: 13px; font-weight: 500;
  letter-spacing: 0.26em; text-transform: uppercase; color: #8a8a8a; margin: 0 0 14px;
}
.nwtm-course .course-eyebrow::before {
  content: ""; display: inline-block; width: 34px; height: 1px; background: #555;
  vertical-align: middle; margin-right: 12px;
}

.nwtm-course .course-lead {
  font-family: 'Teko', sans-serif; font-weight: 300; font-size: 22px; line-height: 1.5;
  color: #cfcfcf; margin: 0; max-width: 820px;
}
.nwtm-course .course-hl { background: #3f3f3f; color: #ffffff; padding: 0 8px; }

/* Facts strip */
.nwtm-course .course-facts {
  display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1px;
  background: #1e1e1e; border: 1px solid #1e1e1e; margin: 28px 0 4px;
}
.nwtm-course .course-fact { background: #0a0a0a !important; padding: 24px 22px !important; margin: 0 !important; }
.nwtm-course .course-fact .n {
  display: block; font-family: 'Bebas Neue', sans-serif; font-size: 32px; line-height: 1;
  text-transform: uppercase; color: #ffffff; margin-bottom: 6px;
}
.nwtm-course .course-fact .l {
  font-family: 'Teko', sans-serif; font-weight: 300; font-size: 14px; letter-spacing: 0.12em;
  text-transform: uppercase; color: #8a8a8a; line-height: 1.3;
}

/* Section heading */
.nwtm-course .course-h {
  font-family: 'Bebas Neue', sans-serif; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.04;
  text-transform: uppercase; letter-spacing: 0.01em; color: #ffffff;
  margin: 52px 0 18px !important; padding-top: 26px; border-top: 1px solid #1e1e1e;
}

.nwtm-course .course-p {
  font-family: 'Teko', sans-serif; font-weight: 300; font-size: 18px; line-height: 1.6;
  color: #b3b3b3; margin: 0 !important; max-width: 820px;
}

/* Objectives grid */
.nwtm-course .course-do {
  list-style: none !important; margin: 4px 0 0 !important; padding: 0 !important;
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px 44px;
}
.nwtm-course .course-do li {
  font-family: 'Teko', sans-serif; font-weight: 300; font-size: 17px; line-height: 1.4;
  color: #cfcfcf; padding-left: 22px; position: relative;
  list-style: none !important; margin: 0 !important;
}
.nwtm-course .course-do li::before {
  content: ""; position: absolute; left: 0; top: 11px; width: 12px; height: 1px; background: #6a6a6a;
}

/* Day blocks */
.nwtm-course .course-day {
  display: flex !important; gap: 26px; padding: 30px 0; border-top: 1px solid #1e1e1e;
}
.nwtm-course .course-day:first-of-type { border-top: none; padding-top: 8px; }
.nwtm-course .course-day-num {
  font-family: 'Bebas Neue', sans-serif; font-size: 64px; line-height: 0.8; color: #333333;
  flex: 0 0 auto; min-width: 80px;
}
.nwtm-course .course-day-body { flex: 1; }
.nwtm-course .course-day-title {
  font-family: 'Bebas Neue', sans-serif; font-size: 24px; line-height: 1; text-transform: uppercase;
  color: #ffffff; margin: 6px 0 14px;
}
.nwtm-course .course-day-body ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.nwtm-course .course-day-body li {
  font-family: 'Teko', sans-serif; font-weight: 300; font-size: 17px; line-height: 1.45;
  color: #b3b3b3; padding-left: 18px; position: relative;
  margin: 0 0 7px !important; list-style: none !important;
}
.nwtm-course .course-day-body li::before {
  content: ""; position: absolute; left: 0; top: 11px; width: 8px; height: 1px; background: #5a5a5a;
}

/* Instructor callout */
.nwtm-course .course-callout { background: #0a0a0a; border: 1px solid #1e1e1e; padding: 30px; margin: 4px 0 0; }
.nwtm-course .course-callout .course-p { color: #b3b3b3; }

/* Approach principle */
.nwtm-course .course-principle { border-left: 2px solid #ffffff; padding: 6px 0 6px 26px; margin: 4px 0 0; }
.nwtm-course .course-principle p {
  font-family: 'Teko', sans-serif; font-weight: 300; font-size: 22px; line-height: 1.45; color: #e0e0e0; margin: 0;
}

/* Responsive */
@media (max-width: 760px) {
  .nwtm-course .course-facts { grid-template-columns: 1fr !important; }
  .nwtm-course .course-do { grid-template-columns: 1fr !important; }
  .nwtm-course .course-day { flex-direction: column !important; gap: 6px; padding: 24px 0; }
  .nwtm-course .course-day-num { font-size: 46px; min-width: 0; }
  .nwtm-course .course-lead { font-size: 20px; }
}

/* =====================================================
   NWTM - COURSES PAGE (custom page with [products] shortcode)
   Replaces the earlier courses-archive CSS. Add to Additional CSS.
   Header is scoped to .nwtm-courses-page; the grid rules style the
   shortcode output so every course added lands in the same layout.
   ===================================================== */

/* ----- Page intro (sits under the WooCommerce shop title) ----- */
.nwtm-courses-page .courses-intro { margin: 0 0 8px; }
.nwtm-courses-page .courses-eyebrow {
  display: inline-block; font-family: 'Teko', sans-serif; font-size: 13px; font-weight: 500;
  letter-spacing: 0.28em; text-transform: uppercase; color: #8a8a8a; margin: 0 0 14px;
}
.nwtm-courses-page .courses-eyebrow::before {
  content: ""; display: inline-block; width: 38px; height: 1px; background: #555;
  vertical-align: middle; margin-right: 14px;
}
.nwtm-courses-page .courses-lead {
  font-family: 'Teko', sans-serif; font-weight: 300; font-size: clamp(18px, 2vw, 22px); line-height: 1.5;
  color: #b8b8b8; max-width: 760px; margin: 0 0 36px;
}

/* ----- Result count + ordering ----- */
.woocommerce .woocommerce-result-count {
  font-family: 'Teko', sans-serif !important;
  text-transform: uppercase; letter-spacing: 0.14em; font-size: 13px !important; color: #8a8a8a !important;
}
.woocommerce .woocommerce-ordering select {
  background: #1c1c1c !important; border: 1px solid #3a3a3a !important; color: #f2f2f2 !important;
  border-radius: 0 !important; font-family: 'Teko', sans-serif !important; padding: 9px 12px !important;
}

/* ----- Product grid ----- */
.woocommerce ul.products {
  display: grid !important; grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important; margin: 24px 0 0 !important; padding: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }

.woocommerce ul.products li.product {
  width: auto !important; float: none !important; margin: 0 !important;
  background: #0a0a0a; border: 1px solid #1e1e1e; padding: 0 !important; overflow: hidden;
  transition: transform 0.4s ease, border-color 0.4s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); border-color: #3a3a3a; }

.woocommerce ul.products li.product a img {
  margin: 0 !important; aspect-ratio: 1 / 1; object-fit: cover;
  filter: grayscale(15%); transition: filter 0.4s ease;
}
.woocommerce ul.products li.product:hover a img { filter: grayscale(0%); }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Bebas Neue', sans-serif !important; text-transform: uppercase; letter-spacing: 0.01em;
  color: #ffffff !important; font-size: 22px !important; line-height: 1.05 !important; padding: 20px 20px 0 !important;
}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  font-family: 'Teko', sans-serif !important; color: #cfcfcf !important; font-size: 18px !important;
}
.woocommerce ul.products li.product .price { padding: 6px 20px 0 !important; display: block; }

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  display: inline-block; margin: 16px 20px 22px !important;
  background: transparent !important; color: #ffffff !important; border: 1px solid #3a3a3a !important;
  border-radius: 0 !important; font-family: 'Teko', sans-serif !important; text-transform: uppercase;
  letter-spacing: 0.16em; padding: 12px 26px !important;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
  background: #ffffff !important; color: #000000 !important; border-color: #ffffff !important;
}

/* ----- Responsive ----- */
@media (max-width: 980px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .woocommerce ul.products { grid-template-columns: 1fr !important; } }

/* =====================================================
   NWTM - JAMES FEEDBACK UPDATES
   Append this block to the VERY END of your Additional CSS.
   These are override rules placed last so they win over the
   earlier (same-specificity) homepage rules. Nothing above
   needs to be deleted.
   ===================================================== */

/* ----------------------------------------------------
   1) HERO - brighten the background photo and lighten the
   overlay so the image reads clearly behind the hero text.
   Bottom of the gradient stays dark where the title sits.
   ---------------------------------------------------- */
.nwtm-v3 .v3-hero-bg {
  opacity: 0.95;
}
.nwtm-v3 .v3-hero-overlay {
  background:
    linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 38%, rgba(0,0,0,0.12) 70%, rgba(0,0,0,0.3) 100%);
}
@media (max-width: 600px) {
  .nwtm-v3 .v3-hero-bg { opacity: 1; }
  .nwtm-v3 .v3-hero-overlay {
    background:
      linear-gradient(to top, #000 0%, rgba(0,0,0,0.5) 32%, rgba(0,0,0,0.12) 64%, rgba(0,0,0,0.3) 100%);
  }
}

/* ----------------------------------------------------
   2) WHO WE SERVE - now four cards (added City & Agency
   Leadership). Four across on desktop, two on tablet,
   one on mobile.
   ---------------------------------------------------- */
.nwtm-v3 .v3-aud-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) {
  .nwtm-v3 .v3-aud-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 600px) {
  .nwtm-v3 .v3-aud-grid { grid-template-columns: 1fr; }
}

/* ----------------------------------------------------
   3) CONSULTING - "Contact Consulting" section
   (CI program + tactical team liability assessments).
   ---------------------------------------------------- */
.nwtm-cons .cons-contact {
  background: #000;
  padding: 84px 0;
  border-bottom: 1px solid #181818;
}
.nwtm-cons .cons-contact .v3-section-header { margin-bottom: 14px; }
.nwtm-cons .cons-contact-intro {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 17px;
  line-height: 1.55;
  color: #9a9a9a;
  max-width: 800px;
  margin: 0 0 44px 0;
}
.nwtm-cons .cons-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 44px;
}
.nwtm-cons .cons-contact-card {
  background: #0a0a0a;
  border: 1px solid #1e1e1e;
  padding: 40px 38px 42px;
}
.nwtm-cons .cons-contact-tag {
  display: inline-block;
  font-family: 'Teko', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #808080;
  margin-bottom: 16px;
}
.nwtm-cons .cons-contact-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.04 !important;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  color: #ffffff;
  margin: 0 0 18px 0 !important;
}
.nwtm-cons .cons-contact-lead {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.55;
  color: #b4b4b4;
  margin: 0 0 14px 0;
}
.nwtm-cons .cons-contact-list {
  list-style: none;
  margin: 0 0 22px 0;
  padding: 0;
}
.nwtm-cons .cons-contact-list li {
  position: relative;
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.45;
  color: #cfcfcf;
  padding-left: 22px;
  margin: 0 0 8px 0;
}
.nwtm-cons .cons-contact-list li:last-child { margin-bottom: 0; }
.nwtm-cons .cons-contact-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 12px;
  height: 1px;
  background: #6a6a6a;
}
.nwtm-cons .cons-contact-close {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.55;
  color: #b4b4b4;
  margin: 22px 0 0 0;
  padding-top: 20px;
  border-top: 1px solid #1e1e1e;
}
@media (max-width: 900px) {
  .nwtm-cons .cons-contact { padding: 60px 0; }
  .nwtm-cons .cons-contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .nwtm-cons .cons-contact { padding: 46px 0; }
  .nwtm-cons .cons-contact-card { padding: 30px 24px 32px; }
}

/* ----------------------------------------------------
   4) ABOUT - small note line inside a credential card
   (used for the in-progress ASIS CCP certification).
   ---------------------------------------------------- */
.nwtm-about .about-cred-title { display: flex; flex-direction: column; }
.nwtm-about .about-cred-note {
  font-family: 'Teko', sans-serif;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #7a7a7a;
  margin-top: 4px;
}

.nwtm-about .about-cred-wide { grid-column: span 2; }
@media (max-width: 600px) {
  .nwtm-about .about-cred-wide { grid-column: auto; }
}
.nwtm-about .about-phil-bg {
  opacity: 0.85;
  object-position: center 45%;
  transform: scale(1);
}
.nwtm-about .about-phil-overlay {
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.62) 100%);
}
.nwtm-about .about-phil-text { text-shadow: 0 2px 22px rgba(0,0,0,0.85); }

.nwtm-v3 .v3-cta-bg { opacity: 0.95; object-position: center 42%; }
.nwtm-v3 .v3-cta-overlay {
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.8) 100%);
}
.nwtm-v3 .v3-cta-eyebrow,
.nwtm-v3 .v3-cta-title,
.nwtm-v3 .v3-cta-text { text-shadow: 0 2px 20px rgba(0,0,0,0.8); }

.nwtm-v3 .v3-card.v3-card-dark:hover { background: #0a0a0a; color: #fafaf7; }
.nwtm-v3 .v3-card.v3-card-dark:hover .v3-card-num { color: #808080; }
.nwtm-v3 .v3-card.v3-card-dark:hover .v3-card-desc { color: rgba(255,255,255,0.7); }
.nwtm-v3 .v3-why-card .v3-why-title { margin-top: 4px; }

.nwtm-v3 {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media (max-width: 921px) {
  img.custom-logo,
  .site-branding img,
  .ast-mobile-header-wrap .site-branding img {
    max-width: 132px !important;
    height: auto !important;
  }
}
/* COURSES PAGE - CTA section below the product grid */
.nwtm-courses-page .courses-cta {
  text-align: center;
  max-width: 760px;
  margin: 64px auto 0;
  padding: 56px 24px 8px;
  border-top: 1px solid #1e1e1e;
}
.nwtm-courses-page .courses-cta-eyebrow {
  display: inline-block;
  font-family: 'Teko', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #8a8a8a;
  margin-bottom: 16px;
}
.nwtm-courses-page .courses-cta-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.02;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: #ffffff;
  margin: 0 0 18px;
}
.nwtm-courses-page .courses-cta-text {
  font-family: 'Teko', sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 1.5;
  color: #b8b8b8;
  max-width: 600px;
  margin: 0 auto 28px;
}
.nwtm-courses-page .courses-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 34px;
  font-family: 'Teko', sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1;
  color: #000000 !important;
  background: #ffffff !important;
  border: 1px solid #ffffff !important;
  text-decoration: none !important;
  transition: background 0.35s ease, color 0.35s ease;
}
.nwtm-co

/* Order received / thank you page - dark tactical theme */

/* Light body text on the dark background */
.woocommerce-order,
.woocommerce-order-received .woocommerce {
    color: #e8e8e8;
}

.woocommerce-order table th,
.woocommerce-order table td,
.woocommerce-order-overview,
.woocommerce-order-overview li,
.woocommerce-customer-details,
.woocommerce-customer-details address,
.woocommerce-column--billing-address,
.woocommerce-column--shipping-address {
    color: #e8e8e8;
}

/* Product name link back to white, not red */
.woocommerce-order a,
.woocommerce-table__product-name a {
    color: #ffffff;
}

/* The white title bars: remove the white background so the
   white text shows on black like the rest of the page */
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-customer-details__title,
.woocommerce-order h2,
.woocommerce-customer-details h2 {
    background: transparent !important;
    color: #ffffff !important;
}

/* Hide only WooCommerce in-stock availability messages */
.woocommerce div.product p.stock.in-stock,
.woocommerce div.product .woocommerce-variation-availability .stock.in-stock,
.woocommerce div.product .woocommerce-variation-availability .in-stock {
    display: none !important;
}