:root {
  --nw-jw-dark: #1E1214;
  --nw-jw-red: #500000;
  --nw-jw-cream: #F8F6F2;
  --nw-jw-white: #FFFFFF;
  --nw-jw-gold: #BE9E5F;
  --nw-jw-copy: #5A2828;
  --nw-jw-black: #18171D;
  --nw-jw-gray: #666666;
  --nw-jw-header-h: 72px;
  --nw-jw-max: 1600px;
}

body.nw-jw-site {
  background: var(--nw-jw-cream);
  font-family: Arial, Helvetica, sans-serif;
  overflow-x: hidden;
}
body.nw-jw-site #top-header,
body.nw-jw-site #main-header,
body.nw-jw-site .et_pb_post_title,
body.nw-jw-site .entry-title { display: none !important; }
body.nw-jw-site #page-container { padding-top: 0 !important; margin-top: 0 !important; }
body.nw-jw-site #main-content { background: transparent; }
body.nw-jw-site #left-area { width: 100%; padding: 0 !important; }
body.nw-jw-site #sidebar { display: none !important; }
body.nw-jw-site .container { width: 100%; max-width: none; padding: 0; }
body.nw-jw-site .container:before { display: none !important; }
body.nw-jw-site article.page { margin: 0; padding: 0; }
body.nw-jw-site .entry-content { padding: 0; margin: 0; }

/* Global menu/header */
.nw-jw-global-header {
  position: fixed;
  z-index: 99990;
  top: 0;
  left: 0;
  right: 0;
  height: var(--nw-jw-header-h);
  display: flex;
  align-items: center;
  background: transparent;
  transition: background .25s ease, box-shadow .25s ease;
}
.admin-bar .nw-jw-global-header { top: 32px; }
.nw-jw-global-header.is-scrolled { background: rgba(30,18,20,.96); box-shadow: 0 8px 30px rgba(0,0,0,.12); }
.nw-jw-header-inner {
  width: min(calc(100% - 96px), var(--nw-jw-max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 230px 1fr;
  align-items: center;
  gap: 24px;
}
.nw-jw-brand {
  color: var(--nw-jw-white) !important;
  font-size: 15px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.25px;
  text-decoration: none !important;
  white-space: nowrap;
}
.nw-jw-global-nav { min-width: 0; }
.nw-jw-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(22px, 3vw, 56px);
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
.nw-jw-menu li { margin: 0 !important; padding: 0 !important; }
.nw-jw-menu a {
  display: block;
  color: var(--nw-jw-white) !important;
  font-size: 12px;
  line-height: 1.1;
  font-weight: 800;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color .2s ease;
}
.nw-jw-menu .current-menu-item > a,
.nw-jw-menu .current_page_item > a,
.nw-jw-menu a:hover { color: var(--nw-jw-gold) !important; }
.nw-jw-menu-toggle { display: none; }

/* Light PDF pages use dark navigation until scrolling */
body.nw-jw-page-him .nw-jw-global-header:not(.is-scrolled) .nw-jw-brand,
body.nw-jw-page-him .nw-jw-global-header:not(.is-scrolled) .nw-jw-menu a,
body.nw-jw-page-journey .nw-jw-global-header:not(.is-scrolled) .nw-jw-brand,
body.nw-jw-page-journey .nw-jw-global-header:not(.is-scrolled) .nw-jw-menu a,
body.nw-jw-page-community .nw-jw-global-header:not(.is-scrolled) .nw-jw-brand,
body.nw-jw-page-community .nw-jw-global-header:not(.is-scrolled) .nw-jw-menu a { color: var(--nw-jw-black) !important; }
body.nw-jw-page-him .nw-jw-global-header:not(.is-scrolled) .current-menu-item > a,
body.nw-jw-page-journey .nw-jw-global-header:not(.is-scrolled) .current-menu-item > a,
body.nw-jw-page-community .nw-jw-global-header:not(.is-scrolled) .current-menu-item > a { color: var(--nw-jw-gold) !important; }

/* Divi canvas structure */
.nw-jw-section {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
}
.nw-jw-section > .et_pb_row,
.nw-jw-section .et_pb_row {
  width: min(calc(100% - 96px), var(--nw-jw-max)) !important;
  max-width: var(--nw-jw-max) !important;
}
.nw-jw-page-row {
  min-height: 100vh;
  margin: 0 auto !important;
  padding: calc(var(--nw-jw-header-h) + 36px) 0 44px !important;
}
.nw-jw-page-heading h1,
.nw-jw-page-heading h2,
.nw-jw-hero-name h1 { margin: 0; padding: 0; }
.nw-jw-page-heading h1 { font-size: clamp(46px, 4.2vw, 76px); font-weight: 800; line-height: .98; }
.nw-jw-body p { margin: 0 0 1.15em; }
.nw-jw-body { font-size: clamp(16px, 1.35vw, 24px); line-height: 1.35; }
.nw-jw-page-number-row {
  position: absolute !important;
  right: 0;
  bottom: 0;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.nw-jw-page-number { margin: 0 !important; }
.nw-jw-page-number p { margin: 0 !important; color: inherit; font-size: 11px; font-weight: 700; }
.nw-jw-page-number-row { right: max(24px, calc((100vw - min(calc(100vw - 96px), 1600px))/2)); bottom: 28px; }

/* HOME */
.nw-jw-home-section { background: var(--nw-jw-dark) !important; color: var(--nw-jw-white); }
.nw-jw-home-row { display: grid !important; grid-template-columns: 48% 52%; align-items: stretch; }
.nw-jw-home-row > .et_pb_column { width: auto !important; float: none !important; margin: 0 !important; }
.nw-jw-home-image-column { position: relative; }
.nw-jw-hero-image { position: absolute !important; inset: 0; margin: 0 !important; }
.nw-jw-hero-image .et_pb_image_wrap { height: 100%; width: 100%; display: block; }
.nw-jw-hero-image img { height: 100% !important; width: auto !important; max-width: 100% !important; object-fit: contain; object-position: left bottom; display: block; }
.nw-jw-home-copy-column { display: flex !important; flex-direction: column; justify-content: center; padding: 6vh 0 7vh 12%; }
.nw-jw-eyebrow { margin: 0 0 52px !important; }
.nw-jw-eyebrow p { color: #fff; margin: 0; font-size: clamp(16px, 1.4vw, 22px); font-weight: 800; text-transform: uppercase; }
.nw-jw-hero-name { margin: 0 0 76px !important; }
.nw-jw-hero-name h1 { color: #fff; font-size: clamp(62px, 6vw, 104px); font-weight: 800; line-height: .95; letter-spacing: -2px; }
.nw-jw-hero-tagline { margin: 0 0 72px !important; }
.nw-jw-hero-tagline p { color: #fff; font-size: clamp(23px, 2.3vw, 38px); font-weight: 800; line-height: 1.08; text-transform: uppercase; }
.nw-jw-story-button { margin: 0 !important; }
.nw-jw-story-button .et_pb_button { border: 0 !important; padding: 0 !important; background: transparent !important; color: #fff !important; font-size: 14px !important; font-weight: 800 !important; text-transform: uppercase; }
.nw-jw-story-button .et_pb_button:after { display: none !important; }
.nw-jw-home-section .nw-jw-page-number { color: #fff; }

/* HIM */
.nw-jw-him-section { background: var(--nw-jw-cream) !important; color: var(--nw-jw-copy); }
.nw-jw-him-row { display: grid !important; grid-template-columns: 58% 42%; align-items: stretch; }
.nw-jw-him-row > .et_pb_column { width: auto !important; float: none !important; margin: 0 !important; }
.nw-jw-him-copy-column { display: flex !important; flex-direction: column; justify-content: center; padding: 3vh 10% 2vh 1%; }
.nw-jw-him-heading { margin-bottom: 44px !important; }
.nw-jw-him-heading h1 { color: #5A0000; }
.nw-jw-him-body { max-width: 830px; color: #613735; }
.nw-jw-him-body p:first-child { margin-bottom: 1.25em; }
.nw-jw-kicker { margin-top: auto !important; padding-top: 34px; }
.nw-jw-kicker p { color: #5A0000; font-size: clamp(16px, 1.5vw, 24px); font-weight: 800; text-transform: uppercase; }
.nw-jw-him-image-column { position: relative; }
.nw-jw-medals-image { position: absolute !important; inset: 0; margin: 0 !important; }
.nw-jw-medals-image .et_pb_image_wrap { width: 100%; height: 100%; display: block; }
.nw-jw-medals-image img { height: 100% !important; width: 100% !important; object-fit: contain; object-position: center bottom; }
.nw-jw-him-section .nw-jw-page-number { color: #555; }

/* JOURNEY */
.nw-jw-journey-section { background: #fff !important; color: #5A0000; padding-top: var(--nw-jw-header-h) !important; }
.nw-jw-journey-heading-row { margin: 0 auto !important; padding: 54px 0 26px !important; }
.nw-jw-journey-heading { margin: 0 0 22px !important; }
.nw-jw-journey-heading h1 { color: #5A0000; }
.nw-jw-journey-subtitle p { color: #666; font-size: clamp(21px, 2vw, 32px); font-weight: 800; }
.nw-jw-journey-grid-row { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 2.2%; margin: 0 auto !important; padding: 20px 0 84px !important; }
.nw-jw-journey-grid-row > .et_pb_column { width: auto !important; float: none !important; margin: 0 !important; display: flex; flex-direction: column; }
.nw-jw-journey-card-image { height: min(52vh, 520px); overflow: hidden; margin: 0 0 26px !important; }
.nw-jw-journey-card-image .et_pb_image_wrap { width: 100%; height: 100%; display: block; }
.nw-jw-journey-card-image img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.nw-jw-journey-next-image img { object-fit: contain !important; object-position: center bottom; }
.nw-jw-journey-label p { color: #5A0000; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.nw-jw-journey-section .nw-jw-page-number { color: #555; }

/* FOOTBALL */
.nw-jw-football-section { background: var(--nw-jw-red) !important; color: #fff; }
.nw-jw-football-row { display: grid !important; grid-template-columns: 49% 51%; align-items: stretch; }
.nw-jw-football-row > .et_pb_column { width: auto !important; float: none !important; margin: 0 !important; }
.nw-jw-football-image-column { position: relative; }
.nw-jw-football-image { position: absolute !important; inset: 0; margin: 0 !important; }
.nw-jw-football-image .et_pb_image_wrap { width: 100%; height: 100%; display: block; }
.nw-jw-football-image img { width: auto !important; height: 100% !important; max-width: 100% !important; object-fit: contain; object-position: left bottom; }
.nw-jw-football-copy-column { display: flex !important; flex-direction: column; justify-content: center; padding: 4vh 1% 4vh 7%; }
.nw-jw-football-heading { margin-bottom: 4px !important; }
.nw-jw-football-heading h1 { color: #fff; }
.nw-jw-football-tagline p { color: #fff; font-size: clamp(21px, 1.8vw, 30px); line-height: 1.1; }
.nw-jw-football-meta { margin-bottom: 42px !important; }
.nw-jw-football-meta p { color: #fff; font-size: clamp(18px, 1.55vw, 25px); font-weight: 800; }
.nw-jw-football-body { color: #fff; max-width: 770px; margin-bottom: 24px !important; }
.nw-jw-link-button { margin: 8px 0 !important; }
.nw-jw-link-button .et_pb_button { border: 0 !important; background: transparent !important; padding: 0 !important; color: #fff !important; font-size: clamp(16px, 1.25vw, 22px) !important; line-height: 1.2 !important; font-weight: 800 !important; text-align: left; }
.nw-jw-link-button .et_pb_button:after { content: ' →' !important; position: static !important; margin-left: 7px !important; opacity: 1 !important; font-size: 1em !important; }
.nw-jw-football-section .nw-jw-page-number { color: #fff; }

/* COMMUNITY */
.nw-jw-community-section { background: var(--nw-jw-cream) !important; color: var(--nw-jw-black); }
.nw-jw-community-row { display: grid !important; grid-template-columns: 44% 28% 28%; align-items: center; gap: 2%; }
.nw-jw-community-row > .et_pb_column { width: auto !important; float: none !important; margin: 0 !important; }
.nw-jw-community-copy-column { padding-right: 12%; }
.nw-jw-community-heading { margin-bottom: 66px !important; }
.nw-jw-community-heading h1 { color: #5A0000; }
.nw-jw-community-body { color: #222; font-size: clamp(19px, 1.75vw, 29px); line-height: 1.28; }
.nw-jw-community-body p:first-child { margin-bottom: 2.1em; }
.nw-jw-community-image { height: min(80vh, 710px); overflow: hidden; margin: 0 !important; }
.nw-jw-community-image .et_pb_image_wrap { width: 100%; height: 100%; display: block; }
.nw-jw-community-image img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.nw-jw-community-section .nw-jw-page-number { color: #555; }

/* SPONSORSHIPS */
.nw-jw-sponsorships-section { background: var(--nw-jw-dark) !important; color: #fff; }
.nw-jw-sponsorships-row { display: grid !important; grid-template-columns: 61% 39%; align-items: stretch; }
.nw-jw-sponsorships-row > .et_pb_column { width: auto !important; float: none !important; margin: 0 !important; }
.nw-jw-sponsorships-copy-column { display: flex !important; flex-direction: column; justify-content: center; padding: 3vh 9% 3vh 1%; }
.nw-jw-sponsorships-heading { margin-bottom: 42px !important; }
.nw-jw-sponsorships-heading h1 { color: #fff; text-transform: none; }
.nw-jw-sponsorships-subheading { margin-bottom: 28px !important; }
.nw-jw-sponsorships-subheading h2 { color: #5A0000; font-size: clamp(34px, 3.2vw, 54px); font-weight: 800; }
.nw-jw-sponsorships-body { color: #fff; max-width: 800px; margin-bottom: 16px !important; }
.nw-jw-partners-title p { color: #fff; font-size: clamp(21px, 1.9vw, 30px); }
.nw-jw-partners-subtitle { margin-bottom: 20px !important; }
.nw-jw-partners-subtitle p { color: #fff; font-size: clamp(16px, 1.45vw, 23px); }
.nw-jw-partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; max-width: 560px; }
.nw-jw-partner-grid span { border: 1px solid #5A0000; padding: 13px 18px; text-align: center; font-size: 18px; color: #fff; }
.nw-jw-work-button { margin-top: 32px !important; }
.nw-jw-work-button .et_pb_button { border: 0 !important; background: transparent !important; padding: 0 !important; color: var(--nw-jw-gold) !important; font-size: 15px !important; font-weight: 800 !important; }
.nw-jw-work-button .et_pb_button:after { display: none !important; }
.nw-jw-sponsorships-image-column { position: relative; }
.nw-jw-sponsorships-image { position: absolute !important; inset: 0; margin: 0 !important; }
.nw-jw-sponsorships-image .et_pb_image_wrap { width: 100%; height: 100%; display: block; }
.nw-jw-sponsorships-image img { width: 100% !important; height: 100% !important; object-fit: contain; object-position: center bottom; }
.nw-jw-sponsorships-section .nw-jw-page-number { color: #fff; }

/* CONNECT */
.nw-jw-connect-section { background: var(--nw-jw-red) !important; color: #fff; }
.nw-jw-connect-row { display: grid !important; grid-template-columns: 59% 41%; align-items: stretch; }
.nw-jw-connect-row > .et_pb_column { width: auto !important; float: none !important; margin: 0 !important; }
.nw-jw-connect-copy-column { display: flex !important; flex-direction: column; justify-content: center; padding: 4vh 9% 4vh 1%; }
.nw-jw-connect-heading { margin-bottom: 62px !important; }
.nw-jw-connect-heading h1 { color: #fff; }
.nw-jw-connect-intro { max-width: 690px; margin-bottom: 42px !important; }
.nw-jw-connect-intro p { color: #fff; font-size: clamp(24px, 2.1vw, 36px); line-height: 1.25; }
.nw-jw-contact-form { max-width: 760px; }
.nw-jw-contact-form .et_pb_contact_field { padding: 0 0 14px 14px !important; margin: 0 !important; }
.nw-jw-contact-form .et_pb_contact_field[data-id="name"],
.nw-jw-contact-form .et_pb_contact_field[data-id="email"] { width: 50% !important; }
.nw-jw-contact-form input,
.nw-jw-contact-form textarea,
.nw-jw-contact-form select {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  padding: 15px 16px !important;
}
.nw-jw-contact-form input::placeholder,
.nw-jw-contact-form textarea::placeholder { color: rgba(255,255,255,.82) !important; }
.nw-jw-contact-form select option { color: #111; }
.nw-jw-contact-form .et_pb_contact_submit { float: left; margin: 12px 0 0 14px !important; background: transparent !important; color: #fff !important; border: 1px solid #fff !important; border-radius: 0 !important; font-size: 14px !important; font-weight: 800 !important; padding: 11px 22px !important; }
.nw-jw-contact-form .et_pb_contact_submit:after { display: none !important; }
.nw-jw-connect-footer { margin-top: auto !important; padding-top: 40px; }
.nw-jw-connect-footer p { color: #fff; font-size: 16px; font-weight: 800; }
.nw-jw-connect-image-column { position: relative; }
.nw-jw-connect-image { position: absolute !important; inset: 0; margin: 0 !important; }
.nw-jw-connect-image .et_pb_image_wrap { width: 100%; height: 100%; display: block; }
.nw-jw-connect-image img { height: 100% !important; width: 100% !important; object-fit: contain; object-position: center bottom; }
.nw-jw-connect-section .nw-jw-page-number { color: #fff; }

/* Divi Visual Builder: keep site header from covering builder controls */
body.et-fb.nw-jw-site .nw-jw-global-header,
body.et-fb-root-ancestor.nw-jw-site .nw-jw-global-header { display: none !important; }

@media (max-width: 1200px) {
  .nw-jw-header-inner { width: calc(100% - 48px); grid-template-columns: 190px 1fr; }
  .nw-jw-menu { gap: 20px; }
  .nw-jw-menu a { font-size: 11px; }
  .nw-jw-section > .et_pb_row, .nw-jw-section .et_pb_row { width: calc(100% - 48px) !important; }
  .nw-jw-page-number-row { right: 24px; }
}

@media (max-width: 980px) {
  :root { --nw-jw-header-h: 68px; }
  .nw-jw-header-inner { width: calc(100% - 40px); display: flex; justify-content: space-between; }
  .nw-jw-menu-toggle { display: flex; width: 40px; height: 40px; flex-direction: column; justify-content: center; gap: 5px; border: 0; background: transparent; padding: 7px; cursor: pointer; }
  .nw-jw-menu-toggle span { display: block; height: 2px; width: 100%; background: #fff; }
  body.nw-jw-page-him .nw-jw-global-header:not(.is-scrolled) .nw-jw-menu-toggle span,
  body.nw-jw-page-journey .nw-jw-global-header:not(.is-scrolled) .nw-jw-menu-toggle span,
  body.nw-jw-page-community .nw-jw-global-header:not(.is-scrolled) .nw-jw-menu-toggle span { background: #18171D; }
  .nw-jw-global-nav { position: fixed; top: var(--nw-jw-header-h); left: 0; right: 0; padding: 24px 20px 32px; background: rgba(30,18,20,.98); transform: translateY(-120%); opacity: 0; pointer-events: none; transition: .25s ease; }
  .admin-bar .nw-jw-global-nav { top: calc(var(--nw-jw-header-h) + 32px); }
  .nw-jw-global-header.is-open .nw-jw-global-nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .nw-jw-menu { flex-direction: column; align-items: flex-start; gap: 18px; }
  .nw-jw-menu a { color: #fff !important; font-size: 15px; }
  .nw-jw-section > .et_pb_row, .nw-jw-section .et_pb_row { width: calc(100% - 40px) !important; }
  .nw-jw-page-row { min-height: auto; padding: 100px 0 54px !important; }
  .nw-jw-page-number-row { right: 20px; bottom: 18px; }

  .nw-jw-home-row,
  .nw-jw-him-row,
  .nw-jw-football-row,
  .nw-jw-community-row,
  .nw-jw-sponsorships-row,
  .nw-jw-connect-row { display: flex !important; flex-direction: column; min-height: 100vh; }
  .nw-jw-home-row > .et_pb_column,
  .nw-jw-him-row > .et_pb_column,
  .nw-jw-football-row > .et_pb_column,
  .nw-jw-community-row > .et_pb_column,
  .nw-jw-sponsorships-row > .et_pb_column,
  .nw-jw-connect-row > .et_pb_column { width: 100% !important; }

  .nw-jw-home-image-column { min-height: 52vh; order: 2; }
  .nw-jw-home-copy-column { padding: 30px 0 40px; order: 1; }
  .nw-jw-eyebrow { margin-bottom: 26px !important; }
  .nw-jw-hero-name { margin-bottom: 30px !important; }
  .nw-jw-hero-tagline { margin-bottom: 30px !important; }
  .nw-jw-hero-image img { margin: 0 auto; object-position: center bottom; }

  .nw-jw-him-copy-column { padding: 20px 0 30px; }
  .nw-jw-him-image-column { min-height: 62vh; }
  .nw-jw-him-heading, .nw-jw-community-heading { margin-bottom: 28px !important; }
  .nw-jw-kicker { margin-top: 14px !important; }

  .nw-jw-journey-heading-row { padding-top: 44px !important; }
  .nw-jw-journey-grid-row { grid-template-columns: repeat(2, 1fr); gap: 34px 22px; }
  .nw-jw-journey-card-image { height: 44vh; }

  .nw-jw-football-image-column { min-height: 58vh; order: 2; }
  .nw-jw-football-copy-column { order: 1; padding: 10px 0 30px; }
  .nw-jw-football-image img { margin: 0 auto; object-position: center bottom; }

  .nw-jw-community-copy-column { padding: 10px 0 34px; }
  .nw-jw-community-image-column { margin-bottom: 20px !important; }
  .nw-jw-community-image { height: 70vh; }

  .nw-jw-sponsorships-copy-column { padding: 10px 0 34px; }
  .nw-jw-sponsorships-image-column { min-height: 64vh; }

  .nw-jw-connect-copy-column { padding: 10px 0 34px; }
  .nw-jw-connect-heading { margin-bottom: 28px !important; }
  .nw-jw-connect-intro { margin-bottom: 28px !important; }
  .nw-jw-connect-image-column { min-height: 58vh; }
}

@media (max-width: 782px) {
  .admin-bar .nw-jw-global-header { top: 46px; }
  .admin-bar .nw-jw-global-nav { top: calc(var(--nw-jw-header-h) + 46px); }
}

@media (max-width: 640px) {
  .nw-jw-section > .et_pb_row, .nw-jw-section .et_pb_row { width: calc(100% - 32px) !important; }
  .nw-jw-header-inner { width: calc(100% - 32px); }
  .nw-jw-page-heading h1 { font-size: 42px; }
  .nw-jw-hero-name h1 { font-size: 58px; }
  .nw-jw-journey-grid-row { grid-template-columns: 1fr; }
  .nw-jw-journey-card-image { height: 62vh; }
  .nw-jw-partner-grid { grid-template-columns: 1fr; }
  .nw-jw-community-image { height: 60vh; }
  .nw-jw-contact-form .et_pb_contact_field[data-id="name"],
  .nw-jw-contact-form .et_pb_contact_field[data-id="email"] { width: 100% !important; }
}
