.ntp-page {
  --ntp-c: #5fbcac;
  --ntp-blue: #446084;
  --ntp-deep: #17324a;
  --ntp-text: #223244;
  --ntp-muted: #5f7083;
  --ntp-line: rgba(68, 96, 132, .18);
  color: var(--ntp-text);
  background: #fff;
  font-family: inherit;
}

.ntp-page *,
.ntp-page *::before,
.ntp-page *::after {
  box-sizing: border-box;
}

.ntp-page h1,
.ntp-page h2,
.ntp-page h3,
.ntp-page p {
  margin: 0;
}

.ntp-page h1,
.ntp-page h2 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  line-height: .96;
}

.ntp-page h1 {
  color: #fff;
  font-size: clamp(4rem, 8vw, 8rem);
}

.ntp-page h2 {
  color: var(--ntp-blue);
  font-size: clamp(2.5rem, 4.8vw, 5rem);
}

.ntp-page h3 {
  color: var(--ntp-blue);
  font-size: 1.35rem;
  line-height: 1.2;
}

.ntp-page p {
  color: var(--ntp-muted);
  font-size: 1rem;
  line-height: 1.8;
}

.ntp-contact-page .ntp-page-split > div:first-child > p:not(.ntp-kicker),
.ntp-reseller-page .ntp-page-split > div:first-child > p:not(.ntp-kicker) {
  margin-top: 40px;
  margin-bottom: 40px;
}

.ntp-page-form p {
  margin: 0;
}

.ntp-kicker {
  display: block;
  margin: 0;
  padding-bottom: 20px;
  color: #5fbcac !important;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ntp-page-hero {
  min-height: 520px;
  display: grid;
  align-items: end;
  padding: 8rem clamp(1.5rem, 5vw, 5rem) 5rem;
  background: linear-gradient(135deg, rgba(23, 50, 74, .98), rgba(68, 96, 132, .9));
}

.ntp-page-hero-copy {
  width: min(980px, 100%);
  display: grid;
  gap: 1.2rem;
}

.ntp-page-hero-copy p:not(.ntp-kicker) {
  width: min(760px, 100%);
  color: #d2dee9;
  font-size: 1.12rem;
}

.ntp-page-section {
  padding: clamp(4.5rem, 8vw, 7rem) clamp(1.5rem, 5vw, 5rem);
}

.ntp-page-alt {
  background: #f7fbfa;
}

.ntp-page .ntp-section {
  padding: clamp(4.5rem, 8vw, 7rem) clamp(1.5rem, 5vw, 5rem);
}

.ntp-page .ntp-alt {
  background: #f7fbfa;
}

.ntp-page .ntp-dark {
  background: var(--ntp-deep);
}

.ntp-page .ntp-dark h2,
.ntp-page .ntp-dark p {
  color: #fff;
}

.ntp-page-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.ntp-page .ntp-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.ntp-page .ntp-section-head {
  width: min(780px, 100%);
  margin-bottom: 2.4rem;
}

.ntp-page .ntp-section-head > p:not(.ntp-kicker) {
  max-width: 760px;
  margin-top: 2.5rem;
}

.ntp-page-split {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.ntp-company-profile-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.ntp-company-profile-copy {
  grid-column: 1 / -1;
  display: grid;
  gap: 1rem;
  margin-top: 40px;
}

.ntp-company-profile-copy p {
  max-width: none;
}

.ntp-page-head {
  width: min(760px, 100%);
  display: grid;
  gap: .8rem;
  margin-bottom: 2.2rem;
}

.ntp-info-list,
.ntp-company-facts {
  display: grid;
  gap: .85rem;
  margin-top: 1.8rem;
}

.ntp-info-list div,
.ntp-company-facts div {
  padding: 1rem;
  border-left: 4px solid var(--ntp-c);
  background: #fff;
  box-shadow: 0 18px 44px rgba(68, 96, 132, .08);
}

.ntp-info-list span,
.ntp-company-facts span,
.ntp-resource-card span,
.ntp-page-card-grid span {
  display: block;
  color: var(--ntp-c);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ntp-info-list strong,
.ntp-company-facts strong {
  display: block;
  margin-top: .25rem;
  color: var(--ntp-blue);
  font-size: 1.05rem;
}

.ntp-info-list em {
  display: block;
  margin-top: .3rem;
  color: var(--ntp-muted);
  font-style: normal;
  font-size: .96rem;
}

.ntp-page .ntp-card {
  border: 1px solid var(--ntp-line);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 40px rgba(68, 96, 132, .08);
  overflow: hidden;
}

.ntp-page .ntp-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  padding: .88rem 2.3rem;
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .25s, background .25s, border-color .25s, color .25s;
  clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
}

.ntp-page .ntp-button-primary {
  background: var(--ntp-c);
  color: #fff;
}

.ntp-page .ntp-button-secondary {
  border-color: rgba(255, 255, 255, .45);
  background: #fff;
  color: var(--ntp-blue);
}

.ntp-page .ntp-button:hover {
  transform: translateY(-2px);
  background: var(--ntp-blue);
  color: #fff;
}

.ntp-page .ntp-button-secondary:hover {
  border-color: var(--ntp-c);
  background: var(--ntp-c);
  color: #fff;
}

.ntp-page .ntp-text-link {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.1rem;
  border: 1px solid transparent;
  background: var(--ntp-c);
  color: #fff;
  padding: .65rem 1.1rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .25s, background .25s, color .25s;
}

.ntp-page .ntp-text-link:hover {
  transform: translateY(-2px);
  background: var(--ntp-blue);
  color: #fff;
}

.ntp-page .ntp-company,
.ntp-page .ntp-map-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.ntp-page .ntp-lead {
  max-width: 760px;
  font-size: 1.18rem;
}

.ntp-company-page #company .ntp-lead {
  margin-top: 40px;
}

.ntp-page .ntp-cert-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}

.ntp-page .ntp-cert-strip div {
  border: 1px solid rgba(255, 255, 255, .22);
  padding: 1rem;
}

.ntp-page .ntp-cert-strip strong {
  display: block;
  color: #fff;
  font-size: 1.4rem;
}

.ntp-page .ntp-cert-strip span {
  color: rgba(255, 255, 255, .76);
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ntp-page .ntp-timeline {
  display: grid;
  gap: 1rem;
}

.ntp-page .ntp-timeline div {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 1rem;
  align-items: start;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
  padding-bottom: 1rem;
}

.ntp-page .ntp-timeline b {
  color: #fff;
  font-family: "Space Mono", monospace;
  line-height: 1.65;
}

.ntp-page .ntp-timeline p {
  margin: 0;
  line-height: 1.65;
}

.ntp-page .ntp-evidence-slider {
  overflow: hidden;
  padding-bottom: 20px;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
}

.ntp-page .ntp-evidence-slider.is-dragging {
  cursor: grabbing;
}

.ntp-page .ntp-evidence-track {
  display: flex;
  gap: 1.35rem;
  transition: transform .65s ease;
  will-change: transform;
}

.ntp-page .ntp-evidence-track .ntp-quote {
  flex: 0 0 calc((100% - 2.7rem) / 3);
}

.ntp-page .ntp-evidence-dots {
  display: flex;
  justify-content: center;
  gap: .55rem;
  margin-top: 1.6rem;
}

.ntp-page .ntp-evidence-dots button {
  width: 9px;
  height: 9px;
  border: 1px solid var(--ntp-c);
  border-radius: 50%;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.ntp-page .ntp-evidence-dots button.active {
  background: var(--ntp-c);
  transform: scale(1.25);
}

.ntp-page .ntp-quote {
  padding: 1.55rem;
}

.ntp-page .ntp-quote p {
  color: var(--ntp-text);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.25rem;
  line-height: 1.45;
}

.ntp-page .ntp-quote cite {
  display: block;
  margin-top: 1rem;
  color: var(--ntp-c);
  font-style: normal;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ntp-page .ntp-quote cite span {
  display: block;
  margin-top: .25rem;
  color: var(--ntp-text);
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.ntp-page .ntp-map-layout {
  grid-template-columns: 1fr .48fr;
  align-items: stretch;
}

.ntp-page .ntp-map {
  position: relative;
  min-height: 460px;
  border: 1px solid var(--ntp-line);
  background: linear-gradient(rgba(255, 255, 255, .78), rgba(255, 255, 255, .78)), url('/wp-content/uploads/2026/06/map.jpg') center/cover;
}

.ntp-page .ntp-marker {
  position: absolute;
  padding: .25rem .45rem .25rem 1.45rem;
  background: #fff;
  border: 1px solid var(--ntp-line);
  color: var(--ntp-blue);
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ntp-page .ntp-marker::before {
  content: "";
  position: absolute;
  left: .42rem;
  top: 50%;
  width: 10px;
  height: 10px;
  transform: translateY(-50%);
  background: var(--ntp-c);
  box-shadow: 0 0 0 6px rgba(95, 188, 172, .16);
}

.ntp-page .ntp-eu { left: 50%; top: 36%; }
.ntp-page .ntp-na { left: 24%; top: 39%; }
.ntp-page .ntp-sa { left: 34%; top: 66%; }
.ntp-page .ntp-me { left: 58%; top: 48%; }
.ntp-page .ntp-ap { left: 75%; top: 36%; }

.ntp-page .ntp-reseller-panel {
  border: 1px solid var(--ntp-line);
  background: #fff;
  padding: 1.8rem;
  box-shadow: 0 18px 40px rgba(68, 96, 132, .08);
}

.ntp-page .ntp-reseller-panel h3 {
  margin-top: 40px;
}

.ntp-page .ntp-country-list {
  display: grid;
  gap: .7rem;
  margin: 1rem 0;
}

.ntp-page .ntp-country-list span {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--ntp-line);
  padding-bottom: .55rem;
  color: var(--ntp-muted);
}

.ntp-tech-points {
  display: grid;
  gap: 1rem;
}

.ntp-technology-page .ntp-page-split > div:first-child > p:not(.ntp-kicker) {
  margin-top: 40px;
}

.ntp-technology-page .ntp-dark .ntp-page-split > div:first-child > p:not(.ntp-kicker) {
  margin-top: 40px;
}

.ntp-tech-points > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1rem;
  border-left: 4px solid var(--ntp-c);
  background: #fff;
  box-shadow: 0 18px 44px rgba(68, 96, 132, .08);
}

.ntp-tech-points b {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: rgba(95, 188, 172, .12);
  color: var(--ntp-blue);
  font-family: "Space Mono", monospace;
}

.ntp-tech-points p {
  margin: 0;
}

.ntp-tech-points strong {
  display: inline-block;
  margin-bottom: .25rem;
  color: var(--ntp-blue);
  font-size: .92rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ntp-technology-page .ntp-tech-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.2rem;
}

.ntp-technology-page .ntp-tech-grid article {
  display: grid;
  align-content: start;
  gap: .9rem;
  padding: 1.4rem;
  border: 1px solid var(--ntp-line);
  background: #fff;
  box-shadow: 0 18px 44px rgba(68, 96, 132, .08);
}

.ntp-technology-page .ntp-tech-grid img {
  width: min(220px, 80%);
  height: 54px;
  object-fit: contain;
  object-position: left center;
}

.ntp-faq-list {
  display: grid;
  gap: 1rem;
}

.ntp-faq-list details {
  border: 1px solid var(--ntp-line);
  background: #fff;
  box-shadow: 0 18px 44px rgba(68, 96, 132, .06);
}

.ntp-faq-list summary {
  cursor: pointer;
  padding: 1.2rem 1.35rem;
  color: var(--ntp-blue);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ntp-faq-list p {
  padding: 0 1.35rem 1.35rem;
}

.ntp-faq-list p a {
  color: var(--ntp-c);
  font-weight: 700;
  text-decoration: none;
}

.ntp-faq-list p a:hover {
  color: var(--ntp-blue);
  text-decoration: underline;
  text-underline-offset: .18em;
}

.ntp-tab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: 2rem;
}

.ntp-tabs {
  scroll-margin-top: 110px;
}

.ntp-tab-nav button {
  border: 1px solid var(--ntp-line);
  background: #fff;
  color: var(--ntp-blue);
  padding: .85rem 1.1rem;
  cursor: pointer;
  font-weight: 800;
}

.ntp-tab-nav button.is-active {
  border-color: var(--ntp-c);
  background: var(--ntp-c);
  color: #fff;
}

.ntp-tab-panel {
  display: none;
}

.ntp-tab-panel.is-active {
  display: block;
}

.ntp-resource-grid,
.ntp-page-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
}

.ntp-grid {
  display: grid;
  gap: 1.35rem;
}

.ntp-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ntp-resource-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ntp-resource-list {
  grid-template-columns: 1fr;
}

.ntp-resource-card,
.ntp-card,
.ntp-page-card-grid article {
  min-height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--ntp-line);
  background: #fff;
  box-shadow: 0 18px 44px rgba(68, 96, 132, .08);
}

.ntp-product-card figure {
  height: 220px;
  margin: 0;
  background: #eef6f4;
  overflow: hidden;
}

.ntp-product-card figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.ntp-card-body {
  display: grid;
  align-content: start;
  gap: .85rem;
  padding: 1.55rem;
}

.ntp-product-card .ntp-card-body {
  gap: 1rem;
}

.ntp-product-card .ntp-tags {
  margin-bottom: .45rem;
}

.ntp-product-card h3 {
  margin: 0;
  color: var(--ntp-c);
  font-size: 1.55rem;
  line-height: 1.08;
  letter-spacing: .02em;
}

.ntp-product-card p {
  margin: 0;
}

.ntp-product-card p strong {
  color: var(--ntp-blue);
}

.ntp-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.ntp-tags span,
.ntp-tag {
  display: inline-flex;
  padding: .35rem .55rem;
  background: rgba(68, 96, 132, .07);
  color: var(--ntp-blue);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ntp-products-intro {
  width: min(900px, 100%);
  margin-bottom: 2.4rem;
}

.ntp-products-intro > p:not(.ntp-kicker) {
  margin-top: 40px;
}

.ntp-products-resources {
  grid-template-columns: .75fr 1.25fr;
}

.ntp-products-resources > div:last-child p {
  max-width: 780px;
  margin-top: 40px;
}

.ntp-not-found-hero {
  min-height: 620px;
  background:
    linear-gradient(135deg, rgba(23, 50, 74, .98), rgba(68, 96, 132, .88)),
    radial-gradient(circle at 78% 18%, rgba(95, 188, 172, .2), transparent 34%);
}

.ntp-not-found-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  margin-top: .6rem;
}

.ntp-not-found-links .ntp-resource-card {
  grid-template-rows: 1fr;
}

.ntp-not-found-links .ntp-resource-card > div {
  min-height: 100%;
  padding: 1.55rem;
}

.ntp-blog-listing {
  padding: clamp(4.5rem, 8vw, 7rem) clamp(1.5rem, 5vw, 5rem);
  background: #fff;
  font-family: Rajdhani, sans-serif;
}

body.blog .wp-block-group.has-bbe-primary-950-background-color:has(.wp-block-post-title),
body.archive .wp-block-group.has-bbe-primary-950-background-color:has(.wp-block-post-title),
body:has(.ntp-blog-page) .wp-block-group.has-bbe-primary-950-background-color:has(.wp-block-post-title) {
  display: none !important;
}

.ntp-blog-page .ntp-page-hero {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  min-height: 520px !important;
  display: grid !important;
  align-items: end !important;
  padding: 8rem clamp(1.5rem, 5vw, 5rem) 5rem !important;
  background: linear-gradient(135deg, rgba(23, 50, 74, .98), rgba(68, 96, 132, .9)) !important;
}

.ntp-blog-page .ntp-page-hero-copy {
  width: min(980px, 100%) !important;
  display: grid !important;
  gap: 1.2rem !important;
  margin: 0 !important;
}

.ntp-blog-page .ntp-page-hero h1 {
  color: #fff !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(4rem, 8vw, 8rem) !important;
  font-weight: 300 !important;
  line-height: .96 !important;
}

.ntp-blog-page .ntp-page-hero-copy p:not(.ntp-kicker) {
  width: min(760px, 100%);
  color: #d2dee9 !important;
  font-size: 1.12rem;
}

.ntp-blog-categories {
  margin-bottom: 2.4rem;
  padding: 1rem 0;
  border-top: 1px solid var(--ntp-line);
  border-bottom: 1px solid var(--ntp-line);
}

.ntp-blog-categories .wp-block-term-template {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.ntp-blog-category {
  gap: .35rem;
  margin: 0;
}

.ntp-blog-category a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .4rem .7rem;
  background: rgba(68, 96, 132, .07);
  color: var(--ntp-blue);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}

.ntp-blog-category a:hover {
  background: var(--ntp-c);
  color: #fff;
}

.ntp-blog-category .wp-block-term-count {
  color: var(--ntp-c);
  font-size: .72rem;
  font-weight: 800;
}

.ntp-blog-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.35rem;
}

.ntp-blog-card {
  min-height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  text-align: left !important;
}

.ntp-blog-card-image {
  width: 100%;
  height: 250px;
  margin: 0;
  overflow: hidden;
}

.ntp-blog-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.ntp-blog-card-body {
  display: grid;
  align-content: start;
  justify-items: start !important;
  gap: 1.05rem;
  padding: 1.75rem;
  text-align: left !important;
}

.ntp-blog-card-body > * {
  justify-self: start !important;
  text-align: left !important;
}

.ntp-blog-card h2 {
  width: 100%;
  margin: 0;
  color: var(--ntp-blue);
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  font-size: clamp(1.8rem, 2.4vw, 2.7rem);
  line-height: 1.05;
  text-align: left !important;
}

.ntp-blog-card h2 a {
  color: inherit;
  text-decoration: none;
}

.ntp-blog-card h2 a:hover {
  color: var(--ntp-c);
}

.ntp-blog-card time {
  display: block;
  justify-self: start !important;
  text-align: left !important;
  color: var(--ntp-text);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ntp-blog-card p,
.ntp-blog-card .wp-block-post-excerpt__excerpt {
  text-align: left !important;
  color: var(--ntp-muted);
  font-size: 1rem;
  line-height: 1.75;
}

.ntp-blog-card .wp-block-post-excerpt,
.ntp-blog-card .wp-block-post-excerpt__excerpt {
  margin: 0;
}

.ntp-blog-card .wp-block-post-terms {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start !important;
  justify-self: start !important;
  gap: .45rem;
  text-align: left !important;
}

.ntp-blog-card .wp-block-post-terms a,
.ntp-blog-card a[rel="tag"] {
  display: inline-flex;
  justify-content: flex-start !important;
  text-align: left !important;
  color: var(--ntp-blue);
  text-decoration: none;
}

.ntp-blog-card .ntp-text-link {
  justify-self: start !important;
  align-self: end;
  margin-top: .9rem;
  text-align: left !important;
}

.ntp-blog-pagination {
  gap: .7rem;
  margin-top: 3rem;
}

.ntp-blog-pagination a,
.ntp-blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  border: 1px solid var(--ntp-line);
  padding: .5rem .75rem;
  color: var(--ntp-blue);
  font-weight: 800;
  text-decoration: none;
}

.ntp-blog-pagination a:hover,
.ntp-blog-pagination .page-numbers.current {
  border-color: var(--ntp-c);
  background: var(--ntp-c);
  color: #fff;
}

.ntp-brochure-resource,
.ntp-leaflet-resource,
.ntp-video-resource,
.ntp-doc-resource {
  grid-template-rows: auto 1fr;
}

.ntp-package-leaflet-list .ntp-resource-card {
  grid-template-columns: minmax(180px, 240px) 1fr;
  grid-template-rows: 1fr;
}

.ntp-package-leaflet-list .ntp-resource-card > .ntp-resource-icon {
  min-height: 100%;
}

.ntp-resource-card > .ntp-resource-icon {
  min-height: 180px;
  display: grid;
  place-items: center;
  padding: 3.2rem 1.2rem 1.2rem 1.2rem;
  background: rgba(95, 188, 172, .14);
  color: var(--ntp-c);
}

.ntp-resource-card > .ntp-resource-icon svg {
  width: 64px;
  height: 64px;
  stroke: currentColor;
}

.ntp-resource-card > .ntp-resource-icon img.ntp-resource-icon-logo {
  width: 50%;
  max-width: 190px;
  height: auto;
  aspect-ratio: auto;
  display: block;
  object-fit: contain;
}

.ntp-resource-card > .ntp-resource-icon img.ntp-resource-icon-logo-rialto {
  max-width: 170px;
}

.ntp-resource-card img,
.ntp-page-card-grid img {
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  object-fit: cover;
}

.ntp-resource-card img.ntp-resource-logo {
  width: min(220px, 78%);
  height: 52px;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: left center;
}

.ntp-resource-card img.ntp-resource-logo-rialto {
  height: 56px;
}

.ntp-resource-card > div:not(.ntp-resource-icon),
.ntp-page-card-grid article > div {
  display: grid;
  align-content: start;
  gap: .75rem;
  padding: 1.2rem;
}

.ntp-resource-card a,
.ntp-resource-card button.ntp-resource-video-button,
.ntp-page-card-grid a {
  justify-self: start;
  border: 0;
  border-radius: 12px;
  background: var(--ntp-c);
  color: #fff;
  padding: .78rem 1rem;
  cursor: pointer;
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

.ntp-resource-card a:hover,
.ntp-resource-card button.ntp-resource-video-button:hover,
.ntp-page-card-grid a:hover {
  background: var(--ntp-blue);
  color: #fff;
}

.ntp-video-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 3vw, 2rem);
  background: rgba(23, 50, 74, .28);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  box-sizing: border-box;
}

.ntp-video-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.ntp-video-modal-stage {
  width: min(1320px, 92vw);
  max-height: 88vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ntp-video-modal-stage video {
  width: 100%;
  max-height: 86vh;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: contain;
  border-radius: 20px;
  background: #000;
  box-shadow: 0 26px 80px rgba(10, 24, 36, .42);
}

.ntp-video-modal-close {
  position: fixed;
  top: 1.2rem;
  right: 1.2rem;
  z-index: 1;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 50%;
  background: rgba(23, 50, 74, .72);
  color: #fff;
  cursor: pointer;
  font-size: 2rem;
  line-height: 1;
}

.ntp-video-modal-close:hover {
  background: var(--ntp-c);
}

html.ntp-modal-open,
html.ntp-modal-open body {
  overflow: hidden;
}

.ntp-empty-state {
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid var(--ntp-line);
  background: #fff;
  text-align: center;
}

.ntp-empty-state h2 {
  margin: .75rem auto;
  font-size: clamp(2.2rem, 4vw, 4rem);
}

.ntp-page-form {
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid var(--ntp-line);
  background: #fff;
  box-shadow: 0 18px 44px rgba(68, 96, 132, .08);
}

.ntp-product-form .ntp-form-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.ntp-product-form .ntp-form-row-2 {
  grid-template-columns: repeat(2, 1fr);
}

.ntp-product-form label {
  display: grid;
  gap: .45rem;
  color: var(--ntp-blue);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ntp-product-form input,
.ntp-product-form select,
.ntp-product-form textarea {
  width: 100%;
  border: 1px solid var(--ntp-line);
  background: #f7fbfa;
  color: var(--ntp-text);
  padding: .9rem 1rem;
  font: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.ntp-product-form select {
  padding: 1.1rem 1rem;
}

.ntp-product-form textarea {
  min-height: 150px;
  resize: vertical;
}

.ntp-product-form .ntp-form-privacy {
  margin-top: 1rem;
}

.ntp-product-form .ntp-form-privacy label {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  color: var(--ntp-muted);
  font-size: .88rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.55;
  text-transform: none;
}

.ntp-product-form input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: .2rem;
  accent-color: var(--ntp-c);
}

.ntp-product-form .ntp-form-submit {
  margin-top: 1.1rem;
}

.ntp-product-form .ntp-form-submit input {
  width: auto;
  min-width: 190px;
  border-color: var(--ntp-c);
  background: var(--ntp-c);
  color: #fff;
  cursor: pointer;
  font-weight: 800;
}

.link-policy {
  color: var(--ntp-c);
  font-weight: 800;
  text-decoration: none;
}

.link-policy:hover {
  color: var(--ntp-blue);
  text-decoration: underline;
}

body.page-slug-media-area #main,
body.page-slug-media-area .wf-wrap,
body.page-slug-media-area .content,
body.page-slug-media-area .entry-content,
body.page-slug-media-area .wp-block-html {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.entry-content.wp-block-post-content:has(.ntp-page),
.wp-block-post-content.has-global-padding:has(.ntp-page),
.wp-block-post-content.is-layout-constrained:has(.ntp-page) {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  --wp--style--root--padding-left: 0 !important;
  --wp--style--root--padding-right: 0 !important;
}

.entry-content.wp-block-post-content:has(.ntp-page) > .ntp-page,
.wp-block-post-content.has-global-padding:has(.ntp-page) > .ntp-page,
.wp-block-post-content.is-layout-constrained:has(.ntp-page) > .ntp-page {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 980px) {
  .ntp-page-split,
  .ntp-company-profile-layout,
  .ntp-grid-3,
  .ntp-blog-grid,
  .ntp-resource-grid,
  .ntp-page-card-grid,
  .ntp-tech-grid,
  .ntp-page .ntp-company,
  .ntp-page .ntp-map-layout {
    grid-template-columns: 1fr;
  }

  .ntp-blog-grid,
  .wp-block-post-template.ntp-blog-grid {
    grid-template-columns: 1fr !important;
  }

  .ntp-technology-page .ntp-tech-grid {
    grid-template-columns: 1fr !important;
  }

  .ntp-package-leaflet-list .ntp-resource-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .ntp-page .ntp-evidence-track .ntp-quote {
    flex-basis: calc((100% - 1.35rem) / 2);
  }
}

@media (max-width: 700px) {
  .ntp-page h1 {
    font-size: clamp(3.2rem, 16vw, 5rem);
  }

  .ntp-page-hero {
    min-height: 440px;
    padding-top: 7rem;
  }

  .ntp-product-form .ntp-form-row {
    grid-template-columns: 1fr;
  }

  .ntp-tab-nav {
    display: grid;
  }

  .ntp-page .ntp-cert-strip,
  .ntp-page .ntp-timeline div {
    grid-template-columns: 1fr;
  }

  .ntp-page .ntp-map {
    min-height: 360px;
  }

  .ntp-page .ntp-marker {
    font-size: .62rem;
  }

  .ntp-page .ntp-evidence-track .ntp-quote {
    flex-basis: 100%;
  }
}

.ntp-blog-card-body.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.ntp-blog-card .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.ntp-blog-card-body > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
