@font-face {
  font-family: "Screamer";
  src: url("./fonts/fk-screamer-legacy-upright.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

:root {
  --nbt-ink: #141210;
  --nbt-paper: #ede7d9;
  --nbt-red: #ff3d18;
  --nbt-white: #f7f5f0;
}

.nbt-skip-link {
  position: fixed;
  z-index: 999999;
  top: 12px;
  left: 12px;
  transform: translateY(-160%);
  padding: 12px 18px;
  background: var(--nbt-white);
  color: var(--nbt-ink);
  font: 600 13px/1.2 system-ui, sans-serif;
  text-decoration: none;
  transition: transform 160ms ease;
}

.nbt-skip-link:focus {
  transform: translateY(0);
}

:where(a, button, input, select, textarea, [role="button"]):focus-visible {
  outline: 3px solid var(--nbt-red) !important;
  outline-offset: 4px !important;
}

/* One typographic voice for every bespoke site navigation. */
:where(
  nav[aria-label="Primary"],
  nav[aria-label="Primary navigation"],
  nav[aria-label="Profile navigation"],
  .nav-links,
  .nb-nav,
  .tf-nav,
  .pa-nav
) > a,
.main-menu > .navigation > li > a,
.elementor-nav-menu--main .elementor-item {
  font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.nbt-theme-mobile-nav {
  position: fixed;
  z-index: 1000000;
  inset: 0;
  box-sizing: border-box;
  overflow-y: auto;
  padding: 20px clamp(20px, 5vw, 42px) 44px;
  background: #0d0d0c;
  color: var(--nbt-white);
}

.nbt-theme-mobile-nav[hidden] {
  display: none !important;
}

.nbt-theme-mobile-nav__top {
  display: flex;
  min-height: 74px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(247, 245, 240, .18);
}

.nbt-theme-mobile-nav__brand {
  display: inline-flex;
  width: min(190px, 52vw);
}

.nbt-theme-mobile-nav__brand img {
  display: block;
  width: 100%;
  height: auto;
}

.nbt-theme-mobile-nav__close {
  min-width: 76px;
  min-height: 48px;
  border: 1px solid rgba(247, 245, 240, .65);
  background: transparent;
  color: var(--nbt-white);
  font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif;
  font-size: 18px;
  line-height: 1;
  text-transform: uppercase;
}

.nbt-theme-mobile-nav__links {
  display: grid;
  margin-top: 24px;
}

.nbt-theme-mobile-nav__links > a {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(247, 245, 240, .16);
  color: var(--nbt-white);
  font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif;
  font-size: clamp(31px, 9vw, 48px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: .96;
  text-decoration: none;
  text-transform: uppercase;
}

.nbt-theme-mobile-nav__links > a i {
  color: var(--nbt-red);
  font-size: 20px;
}

.nbt-theme-mobile-nav__links > .nbt-theme-mobile-nav__contact {
  margin-top: 18px;
  padding: 0 18px;
  border-bottom: 0;
  background: var(--nbt-red);
  color: #141210;
}

.nbt-theme-mobile-nav__contact i {
  color: #141210 !important;
}

.nbt-theme-menu-open {
  overflow: hidden !important;
}

.nbt-theme-menu-ready .sidemenu-wrapper {
  display: none !important;
}

.nbt-contact-form-lead {
  scroll-margin-top: 96px;
}

/* Keep the Contact Form 7 anti-spam field available to bots but out of the
 * visual and keyboard experience for genuine visitors. */
body #altEmail_container,
body .altEmail_container,
.elementor-1811 .altEmail_container,
.page-id-1811 .altEmail_container,
.page-id-4097 .altEmail_container {
  display: none !important;
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.nbt-continuity-menu {
  display: none;
}

.elementor-1811 .wpcf7-form select {
  width: 100% !important;
  min-height: 66px !important;
  appearance: none;
  background: transparent !important;
  border: 1px solid rgba(20, 18, 16, .3) !important;
  border-radius: 0 !important;
  color: #181510 !important;
  font-family: Poppins, system-ui, sans-serif !important;
  font-size: 15px !important;
  padding: 0 18px !important;
}

.elementor-1811 .wpcf7-form .nbt-privacy {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 20px;
  font-size: 12px;
  line-height: 1.55;
}

.elementor-1811 .wpcf7-form .nbt-privacy input {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  appearance: auto !important;
  position: static !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px;
  margin-top: 2px;
  padding: 0 !important;
}

.elementor-1811 .wpcf7-form .nbt-privacy .wpcf7-list-item {
  margin: 0 !important;
}

.elementor-1811 .wpcf7-form .nbt-privacy label {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  cursor: pointer;
}

.elementor-1811 .wpcf7-form .nbt-privacy a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 600px) {
  .elementor-1811 .nbt-contact-hero h1 {
    font-size: clamp(56px, 17.45vw, 68px) !important;
    line-height: .9 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .elementor-1811 .nbt-contact-hero p {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  .nbt-contact-form-lead {
    scroll-margin-top: 12px;
    padding-bottom: 24px !important;
  }

  .nbt-contact-form-lead .nbt-contact-wrap {
    gap: 18px !important;
    padding-top: 44px !important;
  }

  .nbt-contact-form-lead h2 {
    font-size: clamp(52px, 17vw, 74px) !important;
  }

  .nbt-contact-form-lead p {
    margin: 0 !important;
    font-size: clamp(22px, 7vw, 30px) !important;
  }

  .elementor-1811 > .elementor-element-0b01deb {
    padding-bottom: 68px !important;
  }

  .elementor-1811 .scroll__top,
  .elementor-1811 .scroll-to-target {
    display: none !important;
  }
}

@media (max-width: 900px) {
	:where(nav[aria-label="Mobile navigation"], .nbt-continuity-menu > nav) > a {
		font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif !important;
		font-style: normal !important;
		font-weight: 400 !important;
		letter-spacing: .01em !important;
		text-transform: uppercase !important;
	}

  .tf-profile {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .wrap.nav > .nav-links,
  .tf-header > .tf-nav {
    display: none !important;
  }

  .wrap.nav > .enquire {
    display: none !important;
  }

  .nbt-continuity-menu {
    position: relative;
    z-index: 9999;
    display: block;
    margin-left: auto;
    color: #f7f5f0;
    font-family: Poppins, Arial, sans-serif;
  }

  .nbt-continuity-menu > summary {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid rgba(247, 245, 240, .7);
    background: #141210;
    color: #f7f5f0;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1;
    list-style: none;
    text-transform: uppercase;
  }

  .nbt-continuity-menu > summary::-webkit-details-marker {
    display: none;
  }

  .nbt-continuity-menu > nav {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    display: grid !important;
    width: min(300px, calc(100vw - 36px));
    padding: 10px;
    border: 1px solid rgba(247, 245, 240, .22);
    background: #141210;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .3);
  }

  .nbt-continuity-menu:not([open]) > nav {
    display: none !important;
  }

  .nbt-continuity-menu > nav a {
    display: block !important;
    min-height: 46px;
    padding: 14px 12px;
    border-bottom: 1px solid rgba(247, 245, 240, .12);
    color: #f7f5f0 !important;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
  }

  .nbt-continuity-menu > nav a:last-child {
    border-bottom: 0;
    background: #ff3d18;
    color: #141210 !important;
  }
}

/*
 * Never-Before editorial image standard.
 * Every cropped image frame must declare a focal point. The upper-centre
 * defaults protect faces; per-image custom properties provide deliberate
 * art direction without duplicating layout CSS.
 *
 * Usage:
 * <figure class="nbt-image-frame" style="--nbt-focal-desktop:45% 30%;--nbt-focal-mobile:50% 24%">
 *   <img ...>
 * </figure>
 */
:where(.nbt-image-frame, [data-nbt-image-frame]) {
  position: relative;
  overflow: hidden;
  background: #141210;
}

:where(.nbt-image-frame, [data-nbt-image-frame]) > img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: var(--nbt-image-fit, cover) !important;
  object-position: var(--nbt-focal-desktop, 50% 32%) !important;
}

.nbt-image-frame--portrait {
  --nbt-focal-desktop: 50% 24%;
  --nbt-focal-mobile: 50% 20%;
}

.nbt-image-frame--left {
  --nbt-focal-desktop: 28% 32%;
  --nbt-focal-mobile: 24% 26%;
}

.nbt-image-frame--right {
  --nbt-focal-desktop: 72% 32%;
  --nbt-focal-mobile: 76% 26%;
}

.nbt-image-frame--artwork,
.nbt-image-frame--logo {
  --nbt-image-fit: contain;
  --nbt-focal-desktop: 50% 50%;
  --nbt-focal-mobile: 50% 50%;
}

/* Use for transparent logo canvases whose built-in safe area must be trimmed. */
.nbt-image-frame--logo-flush {
  --nbt-image-fit: cover;
  --nbt-focal-desktop: 50% 50%;
  --nbt-focal-mobile: 50% 50%;
}

@media (max-width: 900px) {
  :where(.nbt-image-frame, [data-nbt-image-frame]) > img {
    object-position: var(--nbt-focal-mobile, var(--nbt-focal-desktop, 50% 26%)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Journal article system */

/* --------------------------------------------------------------------------
 * Continuity pass 1.2.6
 * ----------------------------------------------------------------------- */

/* One robust header for legacy legal templates. */
.nbt-system-header {
  position: relative;
  z-index: 10000;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  min-height: 78px;
  align-items: center;
  gap: 28px;
  padding: 12px clamp(20px, 3vw, 44px);
  border-bottom: 1px solid rgba(247, 245, 240, .16);
  background: #0c0a08;
  color: var(--nbt-white);
}

.nbt-system-header__brand {
  display: inline-flex;
  width: min(196px, 100%);
}

.nbt-system-header__brand img,
.nbt-system-footer__brand img {
  display: block;
  width: 100%;
  height: auto;
}

.nbt-system-header__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 2.3vw, 34px);
}

.nbt-system-header__nav a,
.nbt-system-header__enquire {
  color: var(--nbt-white) !important;
  font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.nbt-system-header__enquire {
  justify-self: end;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border: 1px solid rgba(247, 245, 240, .7);
}

/* Legal copy must always sit on an intentional reading surface. */
body:is(.page-id-3830, .page-id-3832) {
  background: var(--nbt-ink) !important;
}

body:is(.page-id-3830, .page-id-3832) .breadcumb-wrapper {
  margin: 0 !important;
  background: var(--nbt-ink) !important;
  color: var(--nbt-white) !important;
}

body:is(.page-id-3830, .page-id-3832) .breadcumb-wrapper :where(h1, a, li, span) {
  color: var(--nbt-white) !important;
}

body:is(.page-id-3830, .page-id-3832) .blog__area,
body:is(.page-id-3830, .page-id-3832) .blog-post-item,
body:is(.page-id-3830, .page-id-3832) .blog__details-content {
  background: var(--nbt-paper) !important;
}

body:is(.page-id-3830, .page-id-3832) .blog__area {
  padding: clamp(68px, 8vw, 116px) 0 !important;
}

.nbt-legal-content {
  width: min(840px, calc(100% - 40px));
  margin: 0 auto;
  color: var(--nbt-ink) !important;
}

.nbt-legal-content :where(h2, h3, h4, p, li, strong, a) {
  color: var(--nbt-ink) !important;
}

.nbt-legal-content h2 {
  margin: 54px 0 18px;
  font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif !important;
  font-size: clamp(40px, 5vw, 68px) !important;
  font-weight: 400 !important;
  line-height: .94 !important;
  text-transform: uppercase;
}

.nbt-legal-content h3 {
  margin: 36px 0 14px;
  font-size: 22px !important;
  line-height: 1.2 !important;
}

.nbt-legal-content p,
.nbt-legal-content li {
  font-size: 17px !important;
  line-height: 1.72 !important;
}

.nbt-legal-content a {
  text-decoration-color: var(--nbt-red);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Restore the intended About page colour system where theme defaults leaked in. */
.page-id-3706 .nba-page {
  background: #0b0b0a !important;
  color: #f7f4ed !important;
}

.page-id-3706 :where(.nba-hero, .nba-founder, .nba-proof, .nba-cta) {
  background: #0b0b0a !important;
  color: #f7f4ed !important;
}

.page-id-3706 .nba-origin {
  background: #161412 !important;
  color: #f7f4ed !important;
}

.page-id-3706 :where(.nba-manifesto, .nba-model, .nba-faq) {
  background: #ede8dc !important;
  color: #0b0b0a !important;
}

.page-id-3706 .nba-build {
  background: #ff3b1f !important;
  color: #fff !important;
}

.page-id-3706 .nba-page main :where(h1, h2, h3) {
  color: inherit !important;
}

.page-id-3706 .nba-label {
  color: #ff3b1f !important;
}

.page-id-3706 :where(.nba-hero__intro, .nba-origin__intro, .nba-founder__quote, .nba-cta > p) {
  color: #d5d0c6 !important;
}

.page-id-3706 :where(.nba-hero__meta, .nba-founder__role, .nba-time p, .nba-proof__head > p) {
  color: #aaa49a !important;
}

.page-id-3706 .nba-manifesto__body :where(p, a),
.page-id-3706 .nba-model :where(p, a),
.page-id-3706 .nba-faq :where(p, summary, a) {
  color: #39352f !important;
}

.page-id-3706 .nba-founder__copy > p:not(.nba-label):not(.nba-founder__quote),
.page-id-3706 .nba-proof__grid p {
  color: #c9c3b9 !important;
}

.page-id-3706 .nba-build :where(h2, h3, p, span, a) {
  color: #fff !important;
}

/* All footers share the same typographic authority, regardless of template. */
:where(footer, [class$="-footer"], [class*="-footer "]) :where(nav a, h2, h3, h4),
:where(.nb-footer, .nbts2-footer, .nbx-footer, .nba-footer, .pa-footer, .tf-footer, .nbq-footer, .nbt-footer) a {
  font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

.nbt-system-footer {
  position: relative;
  z-index: 2;
  padding: clamp(56px, 7vw, 96px) clamp(22px, 5vw, 72px) 26px;
  border-top: 1px solid rgba(247, 245, 240, .16);
  background: #0c0a08;
  color: var(--nbt-white);
}

.nbt-system-footer__top {
  display: grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap: clamp(34px, 6vw, 96px);
}

.nbt-system-footer__brand {
  display: inline-flex;
  width: min(250px, 100%);
}

.nbt-system-footer__top > div > p,
.nbt-system-footer__contact p {
  margin: 18px 0 0;
  color: rgba(247, 245, 240, .6);
  font: 600 11px/1.4 system-ui, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.nbt-system-footer nav,
.nbt-system-footer__contact {
  display: grid;
  align-content: start;
  gap: 12px;
}

.nbt-system-footer a {
  color: var(--nbt-white) !important;
  text-decoration: none;
}

.nbt-system-footer__top nav a,
.nbt-system-footer__contact a {
  font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif;
  font-size: clamp(19px, 1.7vw, 27px);
  line-height: 1;
  text-transform: uppercase;
}

.nbt-system-footer__bottom {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(54px, 8vw, 96px);
  padding-top: 20px;
  border-top: 1px solid rgba(247, 245, 240, .16);
}

.nbt-system-footer__bottom p,
.nbt-system-footer__bottom a {
  margin: 0;
  color: rgba(247, 245, 240, .6) !important;
  font: 600 10px/1.5 system-ui, sans-serif !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}

.nbt-system-footer__bottom nav {
  display: flex;
  gap: 18px;
}

/* A clean, evidence-led Journal index for priority talent profiles. */
.nbt-related-journal {
  padding: clamp(72px, 9vw, 132px) clamp(20px, 5vw, 72px);
  border-top: 1px solid rgba(247, 245, 240, .14);
  background: #0c0a08;
  color: var(--nbt-white);
}

.nbt-related-journal__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 34px;
  margin: 0 auto 44px;
  max-width: 1380px;
}

.nbt-related-journal__head p,
.nbt-related-story > p {
  margin: 0 0 14px;
  color: rgba(247, 245, 240, .62);
  font: 600 11px/1.4 system-ui, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.nbt-related-journal h2 {
  margin: 0;
  color: var(--nbt-white) !important;
  font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif;
  font-size: clamp(58px, 7vw, 116px);
  font-weight: 400;
  line-height: .86;
  text-transform: uppercase;
}

.nbt-related-journal__head > a,
.nbt-related-story__link {
  color: var(--nbt-red) !important;
  font: 400 17px/1 "Screamer", "FK Screamer Legacy", Impact, sans-serif;
  text-decoration: none;
  text-transform: uppercase;
}

.nbt-related-journal__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1380px;
  margin: 0 auto;
}

.nbt-related-story {
  min-width: 0;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(247, 245, 240, .18);
}

.nbt-related-story__media {
  display: block;
  aspect-ratio: 4 / 3;
  margin-bottom: 24px;
  overflow: hidden;
  background: #181513;
}

.nbt-related-story__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 28%;
  transition: transform 220ms ease;
}

.nbt-related-story:hover .nbt-related-story__media img {
  transform: scale(1.018);
}

.nbt-related-story h3 {
  margin: 0 0 22px;
  color: var(--nbt-white) !important;
  font-family: "Screamer", "FK Screamer Legacy", Impact, "Arial Narrow", sans-serif;
  font-size: clamp(33px, 3vw, 52px);
  font-weight: 400;
  line-height: .92;
  text-transform: uppercase;
}

.nbt-related-story h3 a {
  color: inherit !important;
  text-decoration: none;
}

@media (max-width: 900px) {
  .nbt-system-header {
    grid-template-columns: minmax(150px, 1fr) auto;
    min-height: 72px;
    padding: 11px 18px;
  }

  .nbt-system-header__nav,
  .nbt-system-header__enquire {
    display: none;
  }

  .nbt-system-header .nbt-continuity-menu {
    display: block;
  }

  .nbt-system-footer__top,
  .nbt-related-journal__grid {
    grid-template-columns: 1fr;
  }

  .nbt-system-footer__bottom,
  .nbt-related-journal__head {
    display: grid;
    align-items: start;
  }

  .nbt-related-journal__head > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .nbt-related-story {
    padding-bottom: 30px;
  }

  .nbt-related-story h3 {
    font-size: clamp(38px, 11vw, 54px);
    line-height: .94;
  }
}

@media (max-width: 600px) {
  .nbt-legal-content {
    width: min(100% - 36px, 840px);
  }

  .nbt-legal-content p,
  .nbt-legal-content li {
    font-size: 16px !important;
    line-height: 1.68 !important;
  }
}
