/* ==========================================================================
   style-next26.css — Goodwall Landing Page Stylesheet
   Mobile-first | CSS Grid Column System | Modern Reset
   ========================================================================== */

/* ==========================================================================
   0. WEB FONTS
   ========================================================================== */

@font-face {
  font-family: "goodwall-new-ico";
  src: url("../fonts/goodwall/goodwall-web-20210218-26103561cbda7f0902785df9cd132c32.woff2?vsn=d") format("woff2"),
       url("../fonts/goodwall/goodwall-web-20210218-7b30b35f838cec743dc85f88b8039d50.woff?vsn=d") format("woff"),
       url("../fonts/goodwall/goodwall-web-20210218-20378b956a2dbda7e8ce04e92afcaebf.eot?vsn=d"),
       url("../fonts/goodwall/goodwall-web-20210218-c51f9d3bf4caa10cf2b317a6497975fe.ttf?vsn=d") format("truetype"),
       url("../fonts/goodwall/goodwall-web-20210218.svg#goodwall") format("svg"),
       url("../fonts/goodwall/goodwall-web-20210218.eot?#iefix") format("embedded-opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "proxima-nova-bold";
  src: url("../fonts/proxima-nova/388EB8_1_0-910ba112b2d3f940c5000a8718e1d9ea.eot?vsn=d");
  src: url("../fonts/proxima-nova/388EB8_1_0-ad2ba01b20c8ce356f091758e93a12e7.woff2?vsn=d") format("woff2"),
       url("../fonts/proxima-nova/388EB8_1_0-3d2e69acb58769e7f2886faadb5d493a.woff?vsn=d") format("woff"),
       url("../fonts/proxima-nova/388EB8_1_0-c3b4f1331a49b7a38a8e98e03b1bf0b1.ttf?vsn=d") format("truetype");
}
@font-face {
  font-family: "proxima-nova-extrabold";
  src: url("../fonts/proxima-nova/388EB8_2_0-0dbca1b4aa8e451728a43fabfbaf0118.eot?vsn=d");
  src: url("../fonts/proxima-nova/388EB8_2_0-8bf9d5369b22e46c1d9ae9711bae389b.woff2?vsn=d") format("woff2"),
       url("../fonts/proxima-nova/388EB8_2_0-0770e0c07dd465927d14be7938e285be.woff?vsn=d") format("woff"),
       url("../fonts/proxima-nova/388EB8_2_0-8f91f4fd8946d71cf8f80e2991c9c935.ttf?vsn=d") format("truetype");
}
@font-face {
  font-family: "proxima-nova-regular";
  src: url("../fonts/proxima-nova/388EB8_5_0-5bb7759f94c6051a520b8fe6066313c4.eot?vsn=d");
  src: url("../fonts/proxima-nova/388EB8_5_0-40664808a2d187053a51c36c7319a697.woff2?vsn=d") format("woff2"),
       url("../fonts/proxima-nova/388EB8_5_0-3e7bce13cfee03c50e218d5c533d7492.woff?vsn=d") format("woff"),
       url("../fonts/proxima-nova/388EB8_5_0-66343ebac6892ee4e8a2deedb761386e.ttf?vsn=d") format("truetype");
}

/* PP Radio Grotesk — 3 weights: regular (400), medium (500), bold (700) */
@font-face {
  font-family: "PP Radio Grotesk";
  src: url("../fonts/pp-radio-grotesk/PPRadioGrotesk-Regular-197b22f38e97407b94ab75dbcb02ecf7.woff2?vsn=d") format("woff2"),
       url("../fonts/pp-radio-grotesk/PPRadioGrotesk-Regular-ae7aa08661865550a353ed8e34506a00.woff?vsn=d") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PP Radio Grotesk";
  src: url("../fonts/pp-radio-grotesk/PPRadioGrotesk-Medium-37cb0250164ecc4bd9c103be6345e577.woff2?vsn=d") format("woff2"),
       url("../fonts/pp-radio-grotesk/PPRadioGrotesk-Medium-01f4a5a7975528cd8287a7efb3b95318.woff?vsn=d") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PP Radio Grotesk";
  src: url("../fonts/pp-radio-grotesk/PPRadioGrotesk-Bold-c2ac2bfe04bbfbfb4e0046ceb8a9f155.woff2?vsn=d") format("woff2"),
       url("../fonts/pp-radio-grotesk/PPRadioGrotesk-Bold-823900665232978a5d78f05bf4cb0ea0.woff?vsn=d") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ==========================================================================
   1. MODERN CSS RESET
   ========================================================================== */

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

* {
  margin: 0;
  padding: 0;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body {
  min-height: 100svh;
  line-height: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  background-color: var(--color-bg-main);
  color: var(--color-text-main);
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

/* ==========================================================================
   2. CSS CUSTOM PROPERTIES
   ========================================================================== */

:root {
  /* Colors */
  --color-bg-main: #0B0A11;
  --color-text-main: #F9F2EA;
  --color-text-white: #ffffff;
  --color-btn-primary: #F9F2EA;
  --color-btn-primary-text: #181818;

  /* Grid — mobile defaults */
  --grid-columns: 4;
  --grid-margin: 16px;
  --grid-gutter: 16px;
  --grid-max-width: 1280px;

  /* Typography */
  --font-headline-l: 72px;
  --font-headline-m: 56px;
  --font-headline-s: 32px;
  --font-body-m: 24px;
  --font-body-s: 18px;
  --font-body-xs: 12px;
  --font-cta: 24px;

  /* Border radius */
  --border-radius-m: 16px;
}

/* ==========================================================================
   3. BREAKPOINTS — Tablet (800px+)
   ========================================================================== */

@media (width >= 800px) {
  :root {
    --grid-columns: 8;
    --grid-margin: 20px;
    --grid-gutter: 20px;
  }
}

/* ==========================================================================
   4. BREAKPOINTS — Desktop (1280px+)
   ========================================================================== */

@media (width >= 1280px) {
  :root {
    --grid-columns: 12;
    --grid-margin: 40px;
    --grid-gutter: 20px;
  }
}

/* ==========================================================================
   5. GRID / COLUMN SYSTEM
   ========================================================================== */

.container {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), 1fr);
  gap: var(--grid-gutter);
  padding-inline: var(--grid-margin);
  max-width: var(--grid-max-width);
  margin-inline: auto;
  width: 100%;
}

/* --- Mobile columns (default, 4-col grid) --- */

.col-1 { grid-column: span 1; }
.col-2 { grid-column: span 2; }
.col-3 { grid-column: span 3; }
.col-4 { grid-column: span 4; }

/* --- Tablet columns (800px+, 8-col grid) --- */

@media (width >= 800px) {
  .md-col-1 { grid-column: span 1; }
  .md-col-2 { grid-column: span 2; }
  .md-col-3 { grid-column: span 3; }
  .md-col-4 { grid-column: span 4; }
  .md-col-5 { grid-column: span 5; }
  .md-col-6 { grid-column: span 6; }
  .md-col-7 { grid-column: span 7; }
  .md-col-8 { grid-column: span 8; }
}

/* --- Desktop columns (1280px+, 12-col grid) --- */

@media (width >= 1280px) {
  .lg-col-1  { grid-column: span 1; }
  .lg-col-2  { grid-column: span 2; }
  .lg-col-3  { grid-column: span 3; }
  .lg-col-4  { grid-column: span 4; }
  .lg-col-5  { grid-column: span 5; }
  .lg-col-6  { grid-column: span 6; }
  .lg-col-7  { grid-column: span 7; }
  .lg-col-8  { grid-column: span 8; }
  .lg-col-9  { grid-column: span 9; }
  .lg-col-10 { grid-column: span 10; }
  .lg-col-11 { grid-column: span 11; }
  .lg-col-12 { grid-column: span 12; }
}

/* ==========================================================================
   6. TYPOGRAPHY
   ========================================================================== */

.headline-l {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-headline-l);
  line-height: normal;
  font-weight: 500;
}

.headline-m {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-headline-m);
  line-height: normal;
  font-weight: 400;
}

.headline-m-bold {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-headline-m);
  line-height: normal;
  font-weight: 700;
}

@media (width < 1280px) {
  .text-responsive.headline-m {
    font-size: 32px;
  }
}

.headline-s {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-headline-s);
  line-height: normal;
  font-weight: 400;
}

.headline-s-medium {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-headline-s);
  line-height: normal;
  font-weight: 500;
}

.headline-s-bold {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-headline-s);
  line-height: normal;
  font-weight: 700;
}

.body-m {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-body-m);
  line-height: normal;
  font-weight: 400;
}

.body-m-bold {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-body-m);
  line-height: normal;
  font-weight: 700;
}

.body-s {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-body-s);
  line-height: normal;
  font-weight: 400;
}

.body-s-bold {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-body-s);
  line-height: normal;
  font-weight: 700;
}

.body-xs {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-body-xs);
  line-height: normal;
  font-weight: 400;
}

.cta {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-cta);
  line-height: normal;
  font-weight: 500;
}

/* --- Shared primary button --- */

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background-color: var(--color-btn-primary);
  color: var(--color-btn-primary-text);
  padding: 16px 32px;
  border-radius: 999px;
  transition: opacity 0.2s;
}

.btn-primary:hover {
  opacity: 0.85;
}

.btn-primary .cta {
  line-height: 24px;
}

.btn-primary svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

@media (width >= 1280px) {
  .btn-primary .cta {
    line-height: 29px;
  }
}

/* ==========================================================================
   7. TOP NAVIGATION
   ========================================================================== */

.top-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: rgba(59, 59, 65, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-bottom: 1px solid #3B3841;
}

.top-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--grid-max-width);
  margin-inline: auto;
  padding-inline: var(--grid-margin);
  height: 64px;
}

.top-nav__left {
  display: flex;
  align-items: center;
  gap: 24px;
}

.top-nav__logo {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.top-nav__logo-icon {
  width: 24px;
  height: 24px;
}

.top-nav__logo-wordmark {
  height: 24px;
  width: auto;
  display: none;
}

.top-nav__link {
  font-family: "proxima-nova-regular";
  font-size: var(--font-body-s);
  line-height: normal;
  color: var(--color-text-main);
  white-space: nowrap;
}

.top-nav__link:hover {
  opacity: 0.7;
}

.top-nav__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--color-btn-primary);
  color: var(--color-btn-primary-text);
  font-family: "proxima-nova-bold";
  font-size: var(--font-body-s);
  line-height: normal;
  padding: 10px 20px;
  border-radius: 100px;
  white-space: nowrap;
}

.top-nav__cta:hover {
  opacity: 0.85;
}

.top-nav__store-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* Mobile toggle button */
.top-nav__mobile-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  -webkit-tap-highlight-color: transparent;
}

.top-nav__mobile-toggle-close {
  display: none;
}

.top-nav--open .top-nav__mobile-toggle-open {
  display: none;
}

.top-nav--open .top-nav__mobile-toggle-close {
  display: block;
}

/* Mobile menu */
.top-nav__mobile-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: var(--color-bg-main);
  clip-path: inset(0 0 100% 0);
  opacity: 0;
  transition: clip-path 0.3s ease, opacity 0.3s ease;
}

.top-nav--open .top-nav__mobile-menu {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}

.top-nav__mobile-link {
  display: block;
  font-family: "proxima-nova-regular";
  font-size: var(--font-body-s);
  line-height: normal;
  color: var(--color-text-main);
  padding: 20px var(--grid-margin);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transform: translateY(-8px);
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.top-nav--open .top-nav__mobile-link {
  transform: translateY(0);
  opacity: 1;
}

.top-nav--open .top-nav__mobile-link:nth-child(1) { transition-delay: 0.05s; }
.top-nav--open .top-nav__mobile-link:nth-child(2) { transition-delay: 0.1s; }
.top-nav--open .top-nav__mobile-link:nth-child(3) { transition-delay: 0.15s; }
.top-nav--open .top-nav__mobile-link:nth-child(4) { transition-delay: 0.2s; }

.top-nav__mobile-link:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.top-nav__mobile-link--cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #15C970;
  background-color: #0C1C1B;
  border-bottom: none;
  text-decoration: underline;
}

.top-nav__mobile-link--cta svg {
  flex-shrink: 0;
}

/* Mobile: show hamburger + wordmark, hide desktop nav links & CTA */
@media (width < 800px) {
  .top-nav__logo-wordmark {
    display: block;
  }

  .top-nav__link {
    display: none;
  }

  .top-nav__right {
    display: none;
  }

  .top-nav__mobile-toggle {
    display: block;
  }

  .top-nav__mobile-menu {
    display: block;
  }

  .top-nav--open {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* ==========================================================================
   7b. COMPANY MARQUEE (reusable)
   ========================================================================== */

@keyframes company-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-33.333%); }
}

.company-marquee {
  overflow: hidden;
  width: 100%;
}

.company-marquee__track {
  display: flex;
  align-items: center;
  gap: 40px;
  width: max-content;
  animation: company-marquee 30s linear infinite;
}

.company-marquee__logo {
  height: 40px;
  width: auto;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .company-marquee__logo {
    height: 48px;
  }
}

/* ==========================================================================
   8. HERO SECTION
   ========================================================================== */

.hero {
  position: relative;
  /* Use if we want hero to span whole height of viewport */
  /* height: 100svh; */
  margin-top: -64px;
  overflow: hidden;
}

.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__video--desktop {
  display: none;
}

@media (width >= 800px) {
  .hero__video--desktop {
    display: block;
  }
  .hero__video--mobile {
    display: none;
  }
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.5) 100%);
}

.hero__content {
  position: relative;
  z-index: 1;
  padding-top: 220px;
  padding-bottom: 36px;
}

@media (width >= 800px) {
  .hero__content {
    padding-top: 300px;
    padding-bottom: 32px;
  }
}

@media (width >= 1280px) {
  .hero__content {
    padding-top: 204px;
    padding-bottom: 56px;
  }
}


.hero__title,
.hero__subtitle,
.hero__logos--inline {
  max-width: 915px;
}

.hero__title {
  width: 100%;
  height: auto;
  margin-bottom: 16px;
}

.hero__subtitle {
  color: var(--color-text-main);
  margin-bottom: 32px;
}

.hero__logos {
  display: flex;
  align-items: center;
}

.hero__logos--full {
  display: none;
  position: relative;
  z-index: 1;
}

@media (width >= 1280px) {
  .hero__logos--inline {
    display: none;
  }
  .hero__logos--full {
    display: flex;
    padding-bottom: 56px;
  }
}


/* ==========================================================================
   9. LEARNING SECTION
   ========================================================================== */

.learning {
  padding: 40px 0 32px;
}

@media (width >= 800px) {
  .learning {
    padding: 56px 0 32px;
  }
}

@media (width >= 1280px) {
  .learning {
    padding: 80px 0 56px;
  }
}

.learning__text {
  margin-bottom: 48px;
}

@media (width >= 1280px) {
  .learning__text {
    margin-bottom: 0;
  }
}

.learning__title {
  color: var(--color-text-white);
  margin-bottom: 24px;
}

.learning__title strong {
  font-weight: 700;
}

.learning__desc {
  color: var(--color-text-main);
}

.learning__desc strong {
  font-weight: 700;
}

/* On desktop: 5 cols text + 7 cols interactive (starting at col 6) */
@media (width >= 1280px) {
  .learning__interactive {
    grid-column: 6 / -1;
    display: flex;
    justify-content: flex-end;
  }
}

.learning__card {
  display: flex;
  gap: 24px;
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: var(--border-radius-m);
  padding: 32px;
}

@media (width >= 800px) and (width < 1280px) {
  .learning__card {
    width: fit-content;
    margin-inline: auto;
    padding: 32px 60px;
  }
}

@media (width >= 1280px) {
  .learning__card {
    width: fit-content;
    padding: 32px 60px;
  }
}

@media (width < 800px) {
  .learning__card {
    flex-direction: column;
    align-items: stretch;
  }
}

.learning__buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

@media (width < 800px) {
  .learning__buttons {
    flex-direction: row;
    flex: 1;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: -32px -32px 0;
    padding: 32px 32px 0;
  }

  .learning__buttons::-webkit-scrollbar {
    display: none;
  }
}

@media (width >= 800px) {
  .learning__buttons {
    width: 252px;
  }
}

.learning__btn {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: normal;
  padding: 16px 24px;
  border-radius: var(--border-radius-m);
  border: 1px solid rgba(255, 255, 255, 0.2);
  background-color: transparent;
  color: var(--color-text-main);
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.learning__btn:hover {
  border-color: rgba(255, 255, 255, 0.4);
}

.learning__btn--active {
  background-color: var(--color-btn-primary);
  color: var(--color-btn-primary-text);
  border-color: var(--color-btn-primary);
}

.learning__btn--active:hover {
  border-color: var(--color-btn-primary);
}

/* Phone mockup */
.learning__phone {
  position: relative;
  flex-shrink: 0;
  width: 240px;
  max-width: 214px;
  margin: auto;
}

@media (width >= 800px) {
  .learning__phone {
    width: 280px;
    margin: 0;
  }
}

.learning__phone-frame {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  pointer-events: none;
}

.learning__phone-screen {
  position: absolute;
  top: 0.7%;
  bottom: 0.7%;
  left: 1.5%;
  right: 1.5%;
  border-radius: var(--border-radius-m);
  overflow: hidden;
}

.learning__phone-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   9b. LEARNERS SECTION
   ========================================================================== */

.learners {
}

.learners__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  height: 75px;
}

.learners__icon {
  height: 75px;
  width: auto;
  flex-shrink: 0;
}

.learners__text {
  color: var(--color-text-white);
  white-space: nowrap;
}

@media (width >= 800px) and (width < 1280px) {
  .learners__text {
    font-size: 28px;
  }
}

@media (width < 800px) {
  .learners__text {
    font-size: 24px;
  }
}

/* ==========================================================================
   10. COMMUNITY / TESTIMONIALS SECTION
   ========================================================================== */

.community {
  padding: 40px 0 32px;
}

@media (width >= 800px) {
  .community {
    padding: 56px 0 32px;
  }
}

@media (width >= 1280px) {
  .community {
    padding: 80px 0 56px;
  }
}

.community__title {
  color: var(--color-text-white);
  margin-bottom: 32px;
}

.community__title strong {
  font-weight: 700;
}

.community__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

@media (width >= 800px) {
  .community__content {
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
  }
}

@media (width >= 1280px) {
  .community__content {
    gap: 42px;
  }
}

/* Video */
.community__video {
  width: 100%;
  max-width: 348px;
  flex-shrink: 0;
  border-radius: var(--border-radius-m);
  overflow: hidden;
}

@media (width >= 800px) {
  .community__video {
    width: 257px;
    max-width: 257px;
    max-height: 458px;
  }
}

.community__video video,
.community__video-thumbnail {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: var(--border-radius-m);
  cursor: pointer;
}

.community__video-thumbnail {
  object-fit: cover;
}

/* Quotes container */
.community__quotes {
  display: grid;
  flex: 1;
  width: 100%;
}

/* Individual quote — all stack in the same grid cell */
.community__quote {
  grid-row: 1 / -1;
  grid-column: 1 / -1;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

@media (width < 800px) {
  .community__quote {
    display: none;
  }

  .community__quote--active {
    display: block;
  }
}

.community__quote--active {
  opacity: 1;
  pointer-events: auto;
}

/* Quote card */
.community__quote-card {
  background-color: rgba(14, 22, 42, 0.95);
  border-radius: var(--border-radius-m);
  padding: 40px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

@media (width < 800px) {
  .community__quote-card {
    height: auto;
  }
}

@media (width >= 800px) {
  .community__quote-card {
    padding: 40px;
  }
}

@media (width >= 1280px) {
  .community__quote-card {
    padding: 40px;
  }
}

/* Quote mark — CSS mask so background-color controls the fill */
.community__quote-mark {
  width: 68px;
  height: 62px;
  flex-shrink: 0;
  -webkit-mask-image: url("../images/homepages/next26/home/community/Comillas-80d58947ecbc59dced50193726363f23.svg?vsn=d");
  mask-image: url("../images/homepages/next26/home/community/Comillas-80d58947ecbc59dced50193726363f23.svg?vsn=d");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #6B8AFF;
  margin-bottom: 24px;
}

@media (width >= 1280px) {
  .community__quote-mark {
    margin-bottom: 84px;
  }
}

.community__quote-text {
  color: var(--color-text-main);
  margin-bottom: 8px;
}

.community__quote-author {
  color: rgba(249, 242, 234, 0.6);
  flex: 1;
}

@media (width >= 800px) and (width < 1280px) {
  .community__quote-author {
    font-size: 16px;
  }
}

@media (width < 800px) {
  .community__quote-author {
    font-size: 16px;
  }
}

.community__quote-stars {
  display: flex;
  align-items: center;
  gap: 2px;
}

/* --- Per-quote accent styles --- */
.community__quote[data-quote="0"] .community__quote-card {
  background-color: #0A182E;
}

.community__quote[data-quote="0"] .community__quote-mark {
  background-color: #5796F4;
}

.community__quote[data-quote="1"] .community__quote-card {
  background-color: #2B2301;
}

.community__quote[data-quote="1"] .community__quote-mark {
  background-color: #F4DD2A;
}

.community__quote[data-quote="2"] .community__quote-card {
  background-color: #0C1C1B;
}

.community__quote[data-quote="2"] .community__quote-mark {
  background-color: #15C970;
}

.community__quote[data-quote="3"] .community__quote-card {
  background-color: #2A1004;
}

.community__quote[data-quote="3"] .community__quote-mark {
  background-color: #FF8626;
}

.community__quote[data-quote="4"] .community__quote-card {
  background-color: #0A182E;
}

.community__quote[data-quote="4"] .community__quote-mark {
  background-color: #5796F4;
}

.community__quote[data-quote="5"] .community__quote-card {
  background-color: #2B2301;
}

.community__quote[data-quote="5"] .community__quote-mark {
  background-color: #F4DD2A;
}

.community__quote[data-quote="6"] .community__quote-card {
  background-color: #0C1C1B;
}

.community__quote[data-quote="6"] .community__quote-mark {
  background-color: #15C970;
}

.community__quote[data-quote="7"] .community__quote-card {
  background-color: #2A1004;
}

.community__quote[data-quote="7"] .community__quote-mark {
  background-color: #FF8626;
}

.community__quote[data-quote="8"] .community__quote-card {
  background-color: #0C1C1B;
}

.community__quote[data-quote="8"] .community__quote-mark {
  background-color: #15C970;
}

.community__quote[data-quote="9"] .community__quote-card {
  background-color: #2A1004;
}

.community__quote[data-quote="9"] .community__quote-mark {
  background-color: #FF8626;
}

/* ==========================================================================
   10b. MISSION SECTION
   ========================================================================== */

.mission {
  padding: 40px 0;
}

@media (width >= 800px) {
  .mission {
    padding: 56px 0;
  }
}

@media (width >= 1280px) {
  .mission {
    padding: 80px 0;
  }
}

.mission__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

@media (width >= 1280px) {
  .mission__text {
    gap: 32px;
  }
}

.mission__label {
  color: #9197A1;
}

.mission__title {
  color: var(--color-text-white);
}

.mission__title strong {
  font-weight: 700;
}



.mission__logos {
  display: flex;
  align-items: center;
  gap: 24px;
  overflow: hidden;
  width: 100%;
}

.mission__logos-img {
  height: 48px;
  width: auto;
  max-width: none;
}

/* Photos / slides */
.mission__photos {
  position: relative;
  min-height: 300px;
  margin-top: 48px;
}

@media (width >= 800px) {
  .mission__photos {
    margin-top: 0;
  }
}

@media (width >= 1280px) {
  .mission__photos {
    grid-column: 8 / -1;
  }
}

.mission__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.mission__slide--active {
  position: relative;
  opacity: 1;
  pointer-events: auto;
}

.mission__slide--fade-out {
  position: absolute;
  opacity: 0;
}

.mission__slide-img {
  width: 100%;
  height: auto;
  border-radius: var(--border-radius-m);
}

.mission__slide-info {
  text-align: right;
}

.mission__slide-name {
  color: var(--color-text-white);
  font-weight: 500;
}

.mission__slide-role {
  color: var(--color-text-white);
}

.mission__slide-desc {
  color: #9197A1;
}

/* ==========================================================================
   10c. DOWNLOAD SECTION
   ========================================================================== */

.download {
  background-color: #0C1C1B;
}

.download__bar {
  border-radius: var(--border-radius-m);
  max-width: var(--grid-max-width);
  margin-inline: auto;
  width: calc(100% - var(--grid-margin) * 2);
  padding: 32px 0;
}

@media (width >= 800px) {
  .download__bar {
    padding: 32px;
  }
}

.download__inner {
  display: block;
  text-decoration: none;
  color: inherit;
  background-color: #0D2E24;
  border-radius: var(--border-radius-m);
  padding: 32px 24px;
  cursor: pointer;
}

@media (width >= 800px) {
  .download__inner {
    margin: 0 24px;
  }
}

.download__content.container {
  padding-inline: 0;
  align-items: center;
}

.download__title {
  color: var(--color-text-white);
}

/* Mobile: title + icon on same row, right content centered */
@media (width >= 800px) and (width < 1280px) {
  .download__title {
    font-size: 28px;
  }
}

@media (width < 800px) {
  .download__title {
    grid-column: 1 / -1;
    grid-row: 1;
    display: flex;
    align-items: center;
    padding-left: 104px; /* icon 80px + gap 24px */
    font-size: 24px;
  }

  .download__left {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .download__right {
    align-items: center;
  }
}

.download__left {
  display: flex;
  align-items: center;
  gap: 24px;
}

.download__app-icon {
  width: 80px;
  height: 80px;
  background-color: var(--color-btn-primary);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.download__app-icon-img {
  width: 40px;
  height: 40px;
  filter: invert(1);
}

.download__right {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 32px;
}

@media (width >= 800px) {
  .download__right {
    margin-top: 0;
    align-items: flex-end;
  }
}

/* Desktop: title + icon share the same row on the left */
@media (width >= 1280px) {
  .download__title {
    grid-column: 1 / 7;
    grid-row: 1;
    display: flex;
    align-items: center;
    padding-left: 104px; /* icon 80px + gap 24px */
  }

  .download__left {
    grid-column: 1 / 7;
    grid-row: 1;
  }

  .download__right {
    grid-row: 1;
  }
}

.download__stores {
  display: flex;
  gap: 16px;
}

.download__store-link {
  display: block;
  transition: opacity 0.2s;
}

.download__store-link:hover {
  opacity: 0.85;
}

.download__store-badge {
  height: 48px;
  width: auto;
}

.download__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.download__reviews {
  color: var(--color-text-white);
}

.download__stars {
  display: flex;
  align-items: center;
  gap: 2px;
}

.download__free-badge {
  color: #411D08;
  background-color: #15C970;
  padding: 4px 12px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.05em;
}

/* ==========================================================================
   10b-ii. TECH SECTION
   ========================================================================== */

.tech {
  position: relative;
}

/* --- Layout: container-width relative parent for absolute phones --- */

.tech__layout {
  max-width: var(--grid-max-width);
  margin-inline: auto;
  padding-inline: var(--grid-margin);
  position: relative;
}

/* --- Top: transparent bg (body color shows through) --- */

.tech__top {
  padding: 64px 0;
}

.tech__intro {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

@media (width >= 1280px) {
  .tech__top {
    padding: 80px 0;
  }

  .tech__top-inner {
    padding-bottom: 200px;
  }

  .tech__intro {
    max-width: 710px;
  }
}

.tech__statement {
  color: var(--color-text-white);
  margin: 0;
}

.tech__statement--muted {
  color: #9197A1;
}

/* --- Phone screenshots: absolutely positioned, overlapping both sections --- */

.tech__phones-anchor {
  position: relative;
  z-index: 2;
}

.tech__phones {
  display: flex;
  gap: 16px;
}

.tech__phones-col {
  display: contents;
}

@media (width >= 1280px) {
  .tech__phones-anchor {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
  }

  .tech__phones {
    gap: 16px;
    justify-content: flex-end;
    margin-top: 200px;
  }

  .tech__phones-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 220px;
  }

  .tech__phone {
    flex: none;
  }

  .tech__phones-col--right {
    margin-top: 190px;
  }
}

.tech__phone {
  width: 100%;
  border-radius: var(--border-radius-m);
  display: block;
  min-width: 0;
  aspect-ratio: 220 / 450;
  object-fit: cover;
}

.tech__phone--tablet {
  display: none;
}

@media (width >= 800px) {
  .tech__phone--tablet {
    display: block;
  }
}

/* --- Bottom: #0C1C1B bg, full-width bleed --- */

.tech__bottom {
  background-color: #0C1C1B;
  padding: 64px 0;
}

@media (width >= 1280px) {
  .tech__bottom {
    padding: 80px 0;
  }
}

.tech__bottom-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}


.tech__mission {
  color: var(--color-text-white);
  margin: 0;
}

.tech__mission-highlight {
  color: #15C970;
}

.tech__badges {
  display: flex;
  align-items: center;
  gap: 24px;
}

.tech__badge {
  height: 40px;
  width: auto;
}

@media (width >= 800px) {
  .tech__badge {
    height: 48px;
  }
}

/* ==========================================================================
   10c-i. VALUES SECTION (sticky stacking cards)
   ========================================================================== */

.values {
}

.values__header {
  max-width: var(--grid-max-width);
  margin-inline: auto;
  width: calc(100% - var(--grid-margin) * 2);
  padding: 64px 0 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.values__section-title {
  color: var(--color-text-white);
  margin: 0;
}

.values__section-subtitle {
  color: var(--color-text-white);
  margin: 0;
}

.values__track {
  max-width: var(--grid-max-width);
  margin-inline: auto;
  width: calc(100% - var(--grid-margin) * 2);
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px 0;
}

@media (width >= 800px) {
  .values__track {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 20px;
    padding: 40px 0;
  }
}

@media (width >= 1280px) {
  .values__track {
    gap: 32px;
  }
}

/* --- Card base --- */

.values__card {
  border-radius: var(--border-radius-m);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #1A191F;
}

@media (width >= 800px) {
  .values__card {
    flex: 0 0 calc((100% - 20px) / 2);
    background-color: #1A191F;
  }
}

@media (width >= 1280px) {
  .values__card {
    flex: 0 0 calc((100% - 64px) / 3);
  }
}

/* --- Text column --- */

.values__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 24px 24px;
}

.values__title {
  color: #F9F2EA;
  margin: 0;
}

.values__list {
  color: #9197A1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.values__list li {
  padding-left: 16px;
  position: relative;
}

.values__list li::before {
  content: "\00B7";
  position: absolute;
  left: 0;
  font-weight: 700;
}

/* --- Media column --- */

.values__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-bottom: 3px solid transparent;
}

.values__media--blue {
  border-bottom-color: #4A90D9;
}

.values__media--orange {
  border-bottom-color: #E8873A;
}

.values__media--yellow {
  border-bottom-color: #C9A832;
}

.values__media--green {
  border-bottom-color: #15C970;
}

.values__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.values__credit {
  position: absolute;
  bottom: 16px;
  right: 16px;
  color: var(--color-text-white);
  font-size: 15px;
}

/* ==========================================================================
   10c-ii. EU HORIZON SECTION
   ========================================================================== */

.eu-horizon {
  background-color: #0A182E;
}

.eu-horizon__bar {
  max-width: var(--grid-max-width);
  margin-inline: auto;
  width: calc(100% - var(--grid-margin) * 2);
  padding: 32px 0;
}

@media (width >= 800px) {
  .eu-horizon__bar {
    padding: 32px;
  }
}

.eu-horizon__inner {
  background-color: #132544;
  border-radius: var(--border-radius-m);
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}

@media (width >= 800px) {
  .eu-horizon__inner {
    flex-direction: row;
    align-items: center;
    margin: 0 24px;
  }
}

.eu-horizon__flag {
  width: 100px;
  height: auto;
  flex-shrink: 0;
}

.eu-horizon__text {
  color: var(--color-text-white);
  margin: 0;
  font-size: 18px;
}

@media (width >= 800px) {
  .eu-horizon__text {
    font-size: 20px;
  }
}

@media (width >= 1280px) {
  .eu-horizon__text {
    font-size: 24px;
  }
}

/* ==========================================================================
   10d. PARTNERS SECTION
   ========================================================================== */

.partners {
  padding: 72px 0 0;
}

@media (width >= 800px) {
  .partners {
    padding: 88px 0 0;
  }
}

@media (width >= 1280px) {
  .partners {
    padding: 112px 0 0;
  }
}

.partners__inner {
  border-bottom: 1.5px solid #3B3841;
}

.partners__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}

.partners__title {
  color: var(--color-text-white);
}


.partners__logos {
  overflow: hidden;
  width: 100%;
}

@media (width >= 800px) and (width < 1280px) {
  .partners__text {
    display: contents;
  }
  .partners__title {
    grid-column: span 4;
    grid-row: 1;
  }
  .partners__btn {
    grid-column: span 4;
    grid-row: 2;
    justify-self: start;
  }
  .partners__logos {
    grid-column: 1 / -1;
    grid-row: 4;
    margin-top: 28px;
    padding-bottom: 32px;
  }
  .partners__mockups {
    grid-row: 1 / 4;
  }
}

@media (width >= 1280px) {
  .partners__logos {
    margin-top: 28px;
  }
}

/* Mockups */
.partners__mockups {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 56px;
}

@media (width >= 800px) {
  .partners__mockups {
    margin-top: 0;
  }
}

.partners__mockups-img {
  width: 100%;
  height: auto;
  max-width: 560px;
}

/* ==========================================================================
   10e. FOOTER
   ========================================================================== */

.footer {
  padding: 40px 0 32px;
}

@media (width >= 800px) {
  .footer {
    padding: 56px 0 40px;
  }
}

@media (width >= 1280px) {
  .footer {
    padding: 80px 0 40px;
  }
}

/* Title */
.footer__title {
  margin-bottom: 32px;
}

@media (width >= 800px) {
  .footer__title {
    margin-bottom: 40px;
  }
}

@media (width >= 1280px) {
  .footer__title {
    margin-bottom: 48px;
  }
}

.footer__title-img {
  width: 100%;
  height: auto;
  display: block;
}

/* Navigation */
.footer__nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 40px;
}

@media (width >= 800px) {
  .footer__nav {
    flex-direction: row;
    gap: 0;
    margin-bottom: 48px;
  }
}

@media (width >= 1280px) {
  .footer__nav {
    margin-bottom: 56px;
  }
}

.footer__nav-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

@media (width >= 800px) {
  .footer__nav-col {
    flex: 1;
    gap: 12px;
  }
}

.footer__nav-link {
  color: var(--color-text-main);
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.footer__nav-link:hover {
  opacity: 1;
}

/* Actions: stores + social */
.footer__actions {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 40px;
}

@media (width >= 800px) {
  .footer__actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 48px;
  }
}

@media (width >= 1280px) {
  .footer__actions {
    margin-bottom: 56px;
  }
}

.footer__stores {
  display: flex;
  gap: 12px;
}

.footer__store-link {
  display: block;
}

.footer__store-badge {
  height: 48px;
  width: auto;
  display: block;
}

.footer__social {
  display: flex;
  gap: 16px;
  align-items: center;
}

.footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.footer__social-link:hover {
  opacity: 1;
}

.footer__social-link img {
  width: 32px;
  height: 32px;
}

/* Legal bar */
.footer__legal {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid rgba(249, 242, 234, 0.15);
}

@media (width >= 1280px) {
  .footer__legal {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 32px;
  }
}

.footer__copyright {
  display: flex;
  align-items: center;
  gap: 12px;
}

.footer__copyright-logo {
  width: 24px;
  height: 24px;
}

.footer__copyright-text {
  color: var(--color-text-main);
  opacity: 0.7;
}

.footer__legal-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

@media (width >= 800px) {
  .footer__legal-links {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 24px;
  }
}

.footer__legal-link {
  color: var(--color-text-main);
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 0.2s;
  cursor: pointer;
}

.footer__legal-link:hover {
  opacity: 1;
}

/* ==========================================================================
   11. COOKIE BANNER & CONSENT (rendered by landing.min.js)
   ========================================================================== */

/* --- 11a. Cookie Banner: floating dark card --- */

.cookie-banner {
  position: fixed;
  bottom: 16px;
  right: 16px;
  left: 16px;
  width: auto;
  min-height: auto;
  background-color: #252428 !important;
  color: #F0EDE8;
  border-radius: 16px;
  padding: 24px;
  z-index: 1700;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  border: none;
  display: block;
}
@media only screen and (min-width: 800px) {
  .cookie-banner {
    left: auto;
    width: 460px;
  }
}

/* Neutralise the grid / container inside the banner */
.cookie-banner .container {
  display: block;
  grid-template-columns: none;
  gap: 0;
  padding: 0;
  max-width: none;
  margin: 0;
  width: 100%;
}
.cookie-banner .row-fb2 {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin: 0;
}
.cookie-banner [class*="col-xs-"],
.cookie-banner [class*="col-md-"],
.cookie-banner [class*="col-lg-"],
.cookie-banner [class*="col-xl-"] {
  flex-basis: 100% !important;
  max-width: 100% !important;
  padding: 0;
  box-sizing: border-box;
}

/* --- Visibility helpers (JS renders duplicate buttons for responsive) --- */

/* Cookie-banner responsive buttons.
   The JS renders two Settings buttons with Bootstrap hidden-* classes.
   style.css (which defines hidden-*) is NOT loaded on static pages,
   so we must define them here, remapped to project breakpoints:
     mobile < 800px  =  xs + sm
     tablet 800–1279 =  md + lg
     desktop 1280+   =  xl
   First Settings  has .hidden-md  → hide at tablet (800–1279)
   Second Settings has .hidden-xs.hidden-sm.hidden-lg.hidden-xl → hide at mobile + desktop */
@media only screen and (max-width: 799px) {
  .cookie-banner .button-cta.hidden-xs { display: none !important; }
  .cookie-banner .button-cta.hidden-sm { display: none !important; }
}
@media only screen and (min-width: 800px) and (max-width: 1279px) {
  .cookie-banner .button-cta.hidden-md { display: none !important; }
  .cookie-banner .button-cta.hidden-lg { }
}
@media only screen and (min-width: 1280px) {
  .cookie-banner .button-cta.hidden-xl { display: none !important; }
}

/* --- Content --- */

.cookie-banner .cookie-banner-content {
  display: block;
  text-align: left;
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-body-s);
  line-height: normal;
  color: #9197A1;
}
.cookie-banner .cookie-banner-content .cookie-banner-title {
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: var(--font-body-s);
  line-height: normal;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}
.cookie-banner .cookie-banner-content .cookie-legal {
  padding-bottom: 20px;
  text-align: left;
}
.cookie-banner .white-link a {
  color: #F0EDE8;
  text-decoration: underline;
}

/* --- Buttons --- */

.cookie-banner .buttonWrapperBanner {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: center;
}
@media only screen and (min-width: 800px) {
  .cookie-banner .buttonWrapperBanner {
    flex-direction: row;
    gap: 10px;
  }
}

.d2019 .button-cta {
  display: block;
  font: normal 300 15px/2.8em "proxima-nova-bold";
  background: #F0EDE8;
  color: #1C1C1E;
  text-decoration: none;
  text-align: center;
  border-radius: 24px;
  position: relative;
  width: 100%;
  max-width: none;
  cursor: pointer;
  border: none;
}
.d2019 .button-cta:focus,
.d2019 .button-cta:hover {
  color: #1C1C1E !important;
  opacity: 0.9;
}
.d2019 .button-cta.transparent {
  background: #1A191F;
  color: #CCCCCC;
  border: none;
  border-radius: 24px;
}
.d2019 .button-cta.transparent:focus,
.d2019 .button-cta.transparent:hover {
  color: #F0EDE8 !important;
  opacity: 0.9;
}
.d2019 .button-cta.medium-size {
  width: 160px;
}
.cookie-banner .button-cta {
  display: block !important;
  margin: 0 !important;
  font: normal 300 15px/42px "proxima-nova-bold" !important;
  height: 42px !important;
  padding: 0 !important;
  background: #F0EDE8;
  color: #1C1C1E;
  text-decoration: none;
  text-align: center;
  border-radius: 24px;
  cursor: pointer;
  border: none;
  width: 100% !important;
  max-width: none !important;
}
.cookie-banner .button-cta:focus,
.cookie-banner .button-cta:hover {
  color: #1C1C1E !important;
  opacity: 0.9;
}
.cookie-banner .button-cta.transparent {
  background: #1A191F;
  color: #CCCCCC;
  border: none;
  border-radius: 24px;
}
.cookie-banner .button-cta.transparent:focus,
.cookie-banner .button-cta.transparent:hover {
  color: #F0EDE8 !important;
  opacity: 0.9;
}
@media only screen and (min-width: 800px) {
  .cookie-banner .button-cta {
    flex: 1 1 0;
  }
}

/* ==========================================================================
   11b. OVERLAY SYSTEM (shared: cookie consent + video overlay)
   ========================================================================== */

/* --- Overlay backdrop & modal --- */

.overlay-modal {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  background: rgba(0, 0, 0, 0.6);
}
.overlay-modal.active {
  z-index: 1800;
  height: 100%;
  animation: fadeIn 0.5s;
}
body:has(.overlay-modal.active) {
  overflow: hidden;
}
.closing.overlay-modal {
  animation: fadeOut 0.5s;
}

.overlay-container {
  top: 0;
  position: fixed;
  z-index: 1900;
  width: 100%;
  height: 100%;
  min-height: 100%;
  background: #2C2C2E;
  box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.06);
}
.overlay-container .old-style-overlay,
.overlay-container .new-style-overlay {
  display: none;
}
@media only screen and (min-width: 768px) {
  .d2019Overlay.overlay-container {
    left: 50%;
    width: 48rem;
    margin-left: -24rem;
    border-radius: 12px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
  }
}
@media only screen and (min-width: 992px) {
  .d2019Overlay.overlay-container {
    left: 50%;
    width: 49.5rem;
    margin-left: -24.75rem;
  }
}

/* --- Scrollable overlay --- */

.is-scrollable.overlay-container {
  position: relative;
  height: auto;
  min-height: 100%;
  top: 0;
  background: #2C2C2E;
}
@media only screen and (min-width: 768px) {
  .is-scrollable.overlay-container {
    top: 25px;
    height: auto !important;
    min-height: 0% !important;
    margin-bottom: 50px;
  }
}

/* --- No-header variant --- */

.no-header.overlay-container .overlay-header {
  position: absolute;
  width: 100%;
  min-height: 0;
  height: 0;
  top: 0;
  left: 0;
}

/* --- d2018v1 overlay style (cookie consent) --- */

.d2018v1-stylesheet.overlay-container .old-style-overlay { display: none; }
.d2018v1-stylesheet.overlay-container .new-style-overlay { display: none; }
.d2018v1-stylesheet.overlay-container .d2018v1-style-overlay { display: block; }
.d2018v1-stylesheet.overlay-container .d2018v1-style-overlay .overlay-header {
  min-height: 50px;
  background: transparent;
}
.no-header.d2018v1-stylesheet.overlay-container .d2018v1-style-overlay .overlay-header {
  min-height: 0;
  height: 0;
}
.d2018v1-stylesheet.overlay-container .d2018v1-style-overlay .overlay-header .overlay-close {
  position: fixed;
  color: #F0EDE8;
  font-size: 18px;
  left: 15px;
  border: none;
  background-color: transparent;
  cursor: pointer;
  width: 3.125rem;
  height: 3.125rem;
  line-height: 3.125rem;
  text-align: center;
  z-index: 2;
}
.d2018v1-stylesheet.overlay-container .d2018v1-style-overlay .overlay-header .overlay-close:hover {
  color: #fff !important;
}

/* --- Icon font (overlay close button) --- */

.icon-new {
  font-family: "goodwall-new-ico";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 2.25rem;
  vertical-align: middle;
  transition: all 0.2s linear;
}
.icon-new.close-18:before {
  color: #F0EDE8;
  font-weight: bold;
  content: "\e916";
}
.icon-new.tiny {
  font-size: 0.8125rem;
}
.icon-new.hoverable {
  cursor: pointer;
}
.icon-new.hoverable:hover {
  color: #F0EDE8 !important;
}

.d2018v1-stylesheet.overlay-container .d2018v1-style-overlay [data-region="content-region-2018v1"] {
  padding: 20px;
}
@media only screen and (min-width: 768px) {
  .d2018v1-stylesheet.overlay-container.cookie-consent-overlay .d2018v1-style-overlay [data-region="content-region-2018v1"] {
    padding: 46px 30px;
  }
}

/* --- Video overlay (partner page) --- */

.overlay-container .old-style-overlay {
  display: block;
}
.overlay-container .overlay-header {
  z-index: 100;
  min-height: 50px;
  padding-left: 0.9375rem;
  text-transform: capitalize;
  text-align: left;
  color: #999;
  font-family: "proxima-nova-bold";
  font-size: 1.125rem;
  background: black;
  line-height: 3.125rem;
  border-radius: 3px 3px 0 0;
}
@media only screen and (min-width: 40.063em) {
  .overlay-container .overlay-header {
    height: auto;
    font-size: 1.5rem;
  }
}
.overlay-container .overlay-header .overlay-close {
  position: absolute;
  right: 0;
  top: 0;
  width: 3.125rem;
  height: 3.125rem;
  line-height: 3.125rem;
  padding: 0;
  z-index: 2;
  border: none;
  background-color: transparent;
  text-align: center;
  cursor: pointer;
}
.overlay-container .overlay-header .overlay-close.grey {
  color: #BBB;
}
.overlay-container .overlay-header .overlay-close.white {
  color: #fff;
}
.overlay-container .overlay-header .overlay-close:hover,
.overlay-container .overlay-header .overlay-close:active {
  color: #8f5edd !important;
}
.overlay-container .overlay-body {
  position: absolute;
  top: 50px;
  bottom: 0;
  width: 100%;
}
.overlay-container .overlay-footer {
  position: absolute;
  bottom: 0;
  height: 3.5rem;
  width: 100%;
  padding-top: 15px;
  margin-bottom: 20px;
  margin-top: 15px;
  text-align: center;
  border-top: 1px solid #555;
}
.overlay-container .overlay-footer [data-button=cancel] {
  display: none;
}
@media only screen and (min-width: 40.063em) {
  .overlay-container {
    border-radius: 3px;
    box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.1);
  }
  .overlay-container:not(.d2019Overlay) {
    top: 25px;
    left: 50%;
    width: 57.5rem;
    height: 80%;
    min-height: 31.25rem;
    margin-left: -28.75rem;
  }
}
@media only screen and (min-width: 90.063em) {
  .overlay-container:not(.d2019Overlay) {
    top: 75px;
  }
}
@media only screen and (min-width: 40.063em) {
  .overlay-container--video.overlay-container {
    margin-left: 0;
    left: 5%;
    right: 5%;
    width: auto;
    height: auto !important;
    min-height: auto !important;
    top: 5%;
    bottom: 5%;
  }
}
.opening.overlay-container {
  animation: fadeIn 0.5s;
}
.closing.overlay-container {
  animation: fadeOut 0.5s;
}
.video-overlay {
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.video-overlay .video-overlay-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  bottom: 4.875rem;
  z-index: 2900000000;
}
.video-overlay .video-overlay-video.full-overlay {
  bottom: 0;
}
.video-overlay .video-footer-wrapper {
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
}

/* ==========================================================================
   11c. COOKIE CONSENT FORM (dark theme)
   ========================================================================== */

.cookie-consent-form .row {
  display: flex;
  flex-wrap: wrap;
}
.cookie-consent-form .small-12 {
  flex-basis: 100%;
  max-width: 100%;
}
.cookie-consent-form .columns {
  padding-left: 0;
  padding-right: 0;
}
.cookie-consent-form .text-center {
  text-align: center;
}

/* --- Title & description --- */

.cookie-consent-form .title {
  font-family: "proxima-nova-extrabold";
  font-size: 36px;
  font-weight: normal;
  line-height: 0.83;
  color: #F0EDE8;
  margin-bottom: 15px;
}
.cookie-consent-form .desc {
  margin-top: 5px;
  margin-bottom: 16px;
  font-family: "proxima-nova-regular";
  font-size: 16px;
  line-height: 1.5;
  color: #999;
}
.cookie-consent-form .desc a {
  text-decoration: underline;
  color: #F0EDE8;
}

/* --- Category labels --- */

.cookie-consent-form .common__BigBody {
  font-family: "proxima-nova-extrabold";
  font-size: 20px;
  font-weight: 300;
  line-height: 1.25;
  color: #F0EDE8;
  text-align: left;
}

/* --- MUI checkbox components --- */

.cookie-consent-form .MuiFormControlLabel-root {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  margin-left: -11px;
  margin-right: 16px;
  vertical-align: middle;
  -webkit-tap-highlight-color: transparent;
}
.cookie-consent-form .MuiFormControlLabel-root.Mui-disabled {
  cursor: default;
}
.cookie-consent-form .MuiFormControlLabel-labelPlacementStart {
  margin-left: 16px;
  margin-right: -11px;
  flex-direction: row-reverse;
}
.cookie-consent-form .MuiFormControlLabel-label.Mui-disabled {
  color: #666;
}
.cookie-consent-form .MuiIconButton-root {
  flex: 0 0 auto;
  color: #999;
  padding: 12px;
  overflow: visible;
  font-size: 1.5rem;
  text-align: center;
  transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  border-radius: 50%;
}
.cookie-consent-form .MuiIconButton-root:hover {
  background-color: rgba(255, 255, 255, 0.08);
}
.cookie-consent-form .MuiIconButton-root.Mui-disabled {
  color: #555;
  background-color: transparent;
}
@media (hover: none) {
  .cookie-consent-form .MuiIconButton-root:hover {
    background-color: transparent;
  }
}
.cookie-consent-form .MuiIconButton-label {
  width: 100%;
  display: flex;
  align-items: inherit;
  justify-content: inherit;
}
.cookie-consent-form .MuiButtonBase-root {
  color: inherit;
  border: 0;
  cursor: pointer;
  margin: 0;
  display: inline-flex;
  outline: 0;
  padding: 0;
  position: relative;
  align-items: center;
  user-select: none;
  border-radius: 0;
  vertical-align: middle;
  appearance: none;
  justify-content: center;
  text-decoration: none;
  background-color: transparent;
  -webkit-tap-highlight-color: transparent;
}
.cookie-consent-form .MuiButtonBase-root::-moz-focus-inner {
  border-style: none;
}
.cookie-consent-form .MuiButtonBase-root.Mui-disabled {
  cursor: default;
  pointer-events: none;
}
.cookie-consent-form .MuiCheckbox-root {
  color: #999;
  font-size: 15px;
  padding-top: 10px !important;
}
.cookie-consent-form .PrivateSwitchBase-root-309 {
  padding: 9px;
}
.cookie-consent-form .PrivateSwitchBase-input-312 {
  top: 0;
  left: 0;
  width: 100%;
  cursor: inherit;
  height: 100%;
  margin: 0;
  opacity: 0;
  padding: 0;
  z-index: 1;
  position: absolute;
}

/* --- Custom checkbox icons (dark theme) --- */

.cookie-consent-form .makeStyles-icon-92 {
  width: auto;
  height: auto;
  padding: 1px;
  font-family: "goodwall-new-ico";
  line-height: 1;
}
.cookie-consent-form .makeStyles-wrapper-93 {
  display: flex;
  align-items: center;
  border-radius: 50%;
  justify-content: center;
}
.cookie-consent-form .makeStyles-label-289 {
  font-size: 16px;
  font-family: "proxima-nova-regular";
  font-weight: normal;
  line-height: 1.5;
  color: #999;
}
.cookie-consent-form .makeStyles-icon-290 {
  width: 36px;
  height: 36px;
  border-radius: 3px;
}
.cookie-consent-form .makeStyles-iconDefault-291 {
  background-color: #444;
}
.cookie-consent-form .makeStyles-iconGreenUnChecked-292 {
  border: solid 1px #666;
  border-radius: 3px;
}
.cookie-consent-form .makeStyles-iconGreenUnChecked-292 > .makeStyles-wrapper-93 {
  display: none;
}
.cookie-consent-form .makeStyles-iconGreenChecked-293 {
  background-color: #444;
}
.cookie-consent-form .makeStyles-iconDisabled-294 {
  opacity: 0.5;
}
.cookie-consent-form .makeStyles-tickIcon-295 {
  padding-top: 15px;
  padding-left: 18px;
}
.makeStyles-tickIconWhite-296:before {
  content: "\e956";
  top: 20px;
  position: absolute;
  left: 15px;
  font-size: 18px;
}
.cookie-consent-form .makeStyles-tickIconWhite-296 {
  color: #fff;
}

/* --- Save button inside consent form --- */

.cookie-consent-form .button-cta {
  background: #F0EDE8 !important;
  color: #1C1C1E !important;
  border-radius: 24px;
  border: none;
}
.cookie-consent-form .button-cta:focus,
.cookie-consent-form .button-cta:hover {
  color: #1C1C1E !important;
  opacity: 0.9;
}

/* ==========================================================================
   ABOUT HERO SECTION
   ========================================================================== */

.about-hero {
  position: relative;
  margin-top: -64px;
  overflow: hidden;
}

.about-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-hero__bg--desktop {
  display: none;
}

@media (width >= 800px) {
  .about-hero__bg--desktop {
    display: block;
  }
  .about-hero__bg--mobile {
    display: none;
  }
}

.about-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.5) 100%);
}

.about-hero__content {
  position: relative;
  z-index: 1;
  align-content: end;
  padding-top: 350px;
  padding-bottom: 36px;
}

@media (width >= 800px) {
  .about-hero__content {
    padding-top: 300px;
    padding-bottom: 32px;
  }
}

@media (width >= 1280px) {
  .about-hero__content {
    padding-top: 204px;
    padding-bottom: 56px;
  }
}

.about-hero__title {
  width: 100%;
  max-width: 470px;
  height: auto;
  margin-bottom: 16px;
}

.about-hero__subtitle {
  color: var(--color-text-main);
}

@media (width >= 1280px) {
  .about-hero__subtitle {
    padding-right: 50px;
  }
}

.about-hero__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}

@media (width < 800px) {
  .about-hero__credit {
    flex-basis: 100%;
    margin-top: 24px;
  }
}

.about-hero__btn {
  flex-shrink: 0;
}

.about-hero__credit {
  display: none;
  text-align: right;
  color: var(--color-text-main);
}

.about-hero__credit--active {
  display: block;
  animation: fadeIn 0.6s ease;
}

.about-hero__credit-name {
  margin-bottom: 4px;
}

/* About hero slideshow */
.about-hero__slide {
  display: none;
}

.about-hero__slide--active {
  display: block;
  animation: fadeIn 0.6s ease;
}

/* ==========================================================================
   ABOUT BELIEVE SECTION
   ========================================================================== */

.believe {
  background-color: var(--color-bg-main);
}

.believe__text {
  padding-top: 40px;
  padding-bottom: 32px;
}

@media (width >= 800px) {
  .believe__text {
    padding-top: 56px;
    padding-bottom: 32px;
  }
}

@media (width >= 1280px) {
  .believe__text {
    padding-top: 80px;
    padding-bottom: 136px;
  }
}

.believe__title_first {
  color: var(--color-text-main);
}

.believe__title {
  color: #9197A1;
}

.believe__video-wrap {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.believe__player {
  position: relative;
  cursor: pointer;
}

.believe__video {
  display: block;
  width: calc(100% - 32px);
  height: auto;
  margin-inline: auto;
}

@media (width >= 800px) {
  .believe__video {
    width: 100%;
  }
}

.believe__preview {
  display: block;
}

.believe__video--desktop,
.believe__video--mobile {
  display: none;
}

.believe__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  line-height: 0;
  transition: opacity 0.2s ease;
}

.believe__play:hover {
  opacity: 0.8;
}

@media (width > 1280px) {
  .believe__text > * {
    grid-column: 1 / -1;
    margin-inline: auto;
  }
}

/* ==========================================================================
   ABOUT — WEF Video
   ========================================================================== */

.wef {
  background-color: var(--color-bg-main);
}

.wef__wrap.container {
  padding-inline: 0;
}

.wef__player {
  position: relative;
  cursor: pointer;
}

.wef__video {
  display: block;
  width: 100%;
  height: auto;
}

.wef__preview {
  display: block;
}

.wef__video--desktop,
.wef__video--mobile {
  display: none;
}

.wef__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  line-height: 0;
  transition: opacity 0.2s ease;
}

.wef__play:hover {
  opacity: 0.8;
}

/* ==========================================================================
   ABOUT — Seen On
   ========================================================================== */

.seen-on {
  background-color: var(--color-bg-main);
  padding-top: 40px;
  padding-bottom: 40px;
}

.seen-on__border {
  border-bottom: 1.5px solid #3B3841;
  margin-top: 32px;
}

@media (width >= 1280px) {
  .seen-on__border {
    margin-top: 56px;
  }
}

.seen-on__title {
  color: var(--color-text-main);
  text-align: center;
  margin-bottom: 32px;
}

@media (width >= 800px) {
  .seen-on {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

@media (width >= 1280px) {
  .seen-on {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

/* ==========================================================================
   ABOUT — Partners override
   ========================================================================== */

.about-partners .partners {
  padding-top: 40px;
}

@media (width >= 800px) {
  .about-partners .partners {
    padding-top: 56px;
  }
}

@media (width >= 1280px) {
  .about-partners .partners {
    padding-top: 56px;
  }
}

/* ==========================================================================
   ABOUT — Atlantic Quote
   ========================================================================== */

.atlantic-quote {
  background-color: var(--color-bg-main);
  padding-top: 40px;
  padding-bottom: 32px;
}

.atlantic-quote__layout {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.atlantic-quote__mark {
  width: 68px;
  height: 62px;
  flex-shrink: 0;
  -webkit-mask-image: url("../images/homepages/next26/home/community/Comillas-80d58947ecbc59dced50193726363f23.svg?vsn=d");
  mask-image: url("../images/homepages/next26/home/community/Comillas-80d58947ecbc59dced50193726363f23.svg?vsn=d");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #5796F4;
}

.atlantic-quote__body {
  display: flex;
  flex-direction: column;
}

.atlantic-quote__citation {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

.atlantic-quote__border {
  width: 4px;
  flex-shrink: 0;
  background-color: #5796F4;
  border-radius: 2px;
}

.atlantic-quote__text {
  color: var(--color-text-main);
}

.atlantic-quote__author {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 28px;
  margin-left: 24px;
}

.atlantic-quote__portrait {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.2);
}

.atlantic-quote__name {
  color: #9197A1;
  font-weight: 700;
}

.atlantic-quote__logo {
  height: 90px;
  width: auto;
  align-self: flex-start;
  margin-left: 24px;
}

/* Tablet */
@media (width >= 800px) {
  .atlantic-quote {
    padding-top: 56px;
    padding-bottom: 32px;
  }

  .atlantic-quote__layout {
    flex-direction: row;
    align-items: flex-start;
  }
}

/* Desktop */
@media (width >= 1280px) {
  .atlantic-quote {
    padding-top: 80px;
    padding-bottom: 56px;
  }
}

/* ==========================================================================
   ABOUT — Team
   ========================================================================== */

.team {
  background-color: var(--color-bg-main);
  padding-top: 40px;
  padding-bottom: 40px;
}

.team__title {
  color: var(--color-text-main);
  margin-bottom: 24px;
}

.team__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}

.team__text {
  color: var(--color-text-main);
}

.team__quote {
  display: flex;
  gap: 20px;
  align-items: stretch;
  margin-bottom: 40px;
}

.team__quote-border {
  width: 4px;
  flex-shrink: 0;
  background-color: #5796F4;
  border-radius: 2px;
}

.team__quote-text {
  color: var(--color-text-main);
}

.team__cta {
  display: flex;
}

/* Tablet */
@media (width >= 800px) {
  .team {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .team__title {
    margin-bottom: 32px;
  }

  .team__body {
    margin-bottom: 40px;
  }

  .team__quote {
    margin-bottom: 48px;
  }
}

/* Desktop */
@media (width >= 1280px) {
  .team {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .team__title {
    margin-bottom: 40px;
  }

  .team__body {
    margin-bottom: 48px;
  }

  .team__quote {
    margin-bottom: 56px;
  }
}

/* ==========================================================================
   ABOUT — Polaroid Marquee
   ========================================================================== */

@keyframes polaroid-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-33.333%); }
}

.polaroid-marquee {
  overflow: hidden;
  width: 100%;
  background-color: var(--color-bg-main);
  padding-top: 24px;
  padding-bottom: 24px;
}

.polaroid-marquee__track {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  width: max-content;
  animation: polaroid-marquee 60s linear infinite;
}

.polaroid-card {
  display: flex;
  width: 376px;
  padding: 4px 4px 24px 4px;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  border-radius: 16px;
  background: #FFFFFF;
  flex-shrink: 0;
}

.polaroid-card__img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 16px;
}

.polaroid-card__label {
  color: #65636A;
}

@keyframes polaroid-marquee-reverse {
  0%   { transform: translateX(-33.333%); }
  100% { transform: translateX(0); }
}

.polaroid-marquee__track--reverse {
  animation: polaroid-marquee-reverse 60s linear infinite;
}

@media (width < 800px) {
  .polaroid-card {
    width: 188px;
    padding: 2px 2px 12px 2px;
    gap: 8px;
    border-radius: 8px;
  }
  .polaroid-card__img {
    border-radius: 8px;
  }
  .polaroid-card__label {
    font-size: var(--font-body-s);
    padding-left: 8px;
    padding-right: 8px;
  }
  .polaroid-marquee__track {
    gap: 12px;
  }
}

/* ==========================================================================
   ABOUT — Press
   ========================================================================== */

.press {
  background-color: var(--color-bg-dark);
  padding-top: 40px;
  padding-bottom: 40px;
}

.press__title {
  color: var(--color-text-light);
  margin-bottom: 24px;
}

.press__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.press__item {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}

.press__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.press__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 16px;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0.70) 100%);
  color: var(--color-text-light);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.press__item.is-active .press__overlay {
  opacity: 1;
}

@media (hover: hover) {
  .press__item:hover .press__overlay {
    opacity: 1;
  }
}

.press__item--wide {
  grid-column: span 2;
}

@media (min-width: 768px) {
  .press {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .press__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1200px) {
  .press {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

/* ==========================================================================
   ABOUT — Map
   ========================================================================== */

.map {
  background-color: var(--color-bg-dark);
  padding-top: 40px;
  padding-bottom: 40px;
}

.map__header {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), 1fr);
  gap: var(--grid-gutter);
  padding-inline: var(--grid-margin);
  max-width: var(--grid-max-width);
  margin-inline: auto;
  width: 100%;
}

.map__title {
  color: var(--color-text-light);
  margin-bottom: 24px;
}

.map__cta {
  margin-bottom: 32px;
}

.map__scroll-area {
  position: relative;
}

.map__image {
  position: sticky;
  top: 0;
  z-index: 0;
}

.map__world {
  width: 100%;
  max-width: 720px;
  height: auto;
  display: block;
  margin-inline: auto;
}

.map__offices-wrap {
  position: relative;
  z-index: 1;
  padding-inline: var(--grid-margin);
  max-width: var(--grid-max-width);
  margin-inline: auto;
}

.map__offices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 16px;
  row-gap: 24px;
}

.map__office-image {
  margin-bottom: 12px;
}

.map__office-image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  display: block;
}

.map__office-flag {
  font-size: 24px;
  line-height: 1;
  display: block;
  margin-bottom: 4px;
}

.map__office-city {
  color: var(--color-text-light);
}

.map__office-address {
  color: #9197A1;
}

@media (min-width: 768px) {
  .map {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .map__offices {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1200px) {
  .map {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .map__offices {
    grid-template-columns: repeat(4, 230px);
    gap: 16px;
    justify-content: center;
  }

  .map__office-image img {
    width: 230px;
    height: 260px;
    object-fit: cover;
  }
}

/* ==========================================================================
   ABOUT — Goodwall Story
   ========================================================================== */

.goodwall-story {
  display: flex;
  flex-direction: column;
  gap: 40px;
  overflow-x: hidden;
  padding-top: 40px;
  padding-bottom: 32px;
}

.goodwall-story__title {
  color: var(--color-text-main);
}

/* Chapter canvas — hero (static) + track (scrollable) side by side */
.story-chapter__canvas {
  display: flex;
  align-items: flex-end;
  padding-left: var(--grid-margin);
  overscroll-behavior-x: contain;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}

.story-chapter__canvas.is-dragging {
  cursor: grabbing;
}

/* Scrollable track for slider cards — overlaps hero, uses transform-based scroll */
.story-chapter__track {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  align-self: stretch;
  gap: 24px;
  flex: 1;
  min-width: 0;
  overflow: visible;
  margin-left: -148px;
  will-change: transform;
  touch-action: pan-y;
  margin-right: 16px;
  margin-bottom: 50px;
}

/* Hero card */
.story-chapter__hero {
  position: relative;
  z-index: 0;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  width: 329px;
  height: 480px;
  border: 1.5px solid var(--story-border);
  border-radius: 16px;
  overflow: hidden;
  padding: 16px 16px 16px;
  background: var(--story-border);
}

.story-chapter__title {
  display: block;
  font-family: "PP Radio Grotesk", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
  color: var(--story-accent);
  margin-bottom: 12px;
}

.story-chapter__hero-img {
  width: 100%;
  flex: 1;
  min-height: 0;
  object-fit: cover;
  border-radius: 16px;
  pointer-events: none;
  -webkit-user-drag: none;
}

/* Slider cards */
.story-card {
  flex-shrink: 0;
  width: 218px;
  height: 302px;
  border-radius: 16px;
  overflow: hidden;
}

.story-card--text {
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px 16px;
}

.story-card__text {
  color: #181818;
}

.story-card__text strong {
  font-weight: 700;
}

.story-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  -webkit-user-drag: none;
}

/* Chapter color variants */
.story-chapter--origins {
  --story-accent: #5796F4;
  --story-border: #0A182E;
}

.story-chapter--origins .story-card--text {
  background: linear-gradient(0deg, #132544 0%, #274C8B 100%);
}

.story-chapter--origins .story-card__text {
  color: #FFFFFF;
}

.story-chapter--origins .story-card__text strong {
  color: #5796F4;
}

.story-chapter--growth {
  --story-accent: #15C970;
  --story-border: #0C1C1B;
}

.story-chapter--growth .story-card--text {
  background: linear-gradient(0deg, #0D2E24 0%, #1E755B 100%);
}

.story-chapter--growth .story-card__text {
  color: #FFFFFF;
}

.story-chapter--growth .story-card__text strong {
  color: #15C970;
}

.story-chapter--future {
  --story-accent: #FF8626;
  --story-border: #2A1004;
}

.story-chapter--future .story-card--text {
  background: linear-gradient(0deg, #0D2E24 0%, #6B310F 100%);
}

.story-chapter--future .story-card__text {
  color: #FFFFFF;
}

.story-chapter--future .story-card__text strong {
  color: #FF8626;
}

/* Tablet */
@media (width >= 800px) {
  .goodwall-story {
    padding-top: 56px;
    padding-bottom: 32px;
  }

  .story-chapter__hero {
    width: 637px;
    height: 475px;
  }

  .story-chapter__title {
    font-size: 28px;
  }

  .story-chapter__track {
    margin-left: -302px;
    margin-bottom: 50px;
  }

  .story-card {
    width: 218px;
    height: 302px;
  }
}

/* Desktop */
@media (width >= 1280px) {
  .goodwall-story {
    padding-top: 80px;
    padding-bottom: 56px;
  }

  .story-chapter__title {
    font-size: 32px;
  }

  .story-chapter__canvas {
    padding-left: 0;
  }

  .story-chapter__track {
    margin-left: -420px;
    padding-right: 0;
    margin-bottom: 60px;
  }

  .story-chapter__hero {
    --story-edge: calc(max(0px, (100vw - var(--grid-max-width)) / 2) + var(--grid-margin));
    width: calc(var(--story-edge) + 870px);
    height: 624px;
    padding-left: calc(var(--story-edge) + 16px);
    padding-bottom: 40px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: none;
  }

  .story-card {
    width: 289px;
    height: 401px;
  }

  .story-card__text {
    font-size: var(--font-body-m);
  }
}

/* --- Animation keyframes (used by overlay) --- */

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* --------------------------------------------------------------------------
   QR Modal
   -------------------------------------------------------------------------- */

.qr-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.qr-modal[aria-hidden="true"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.qr-modal[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
}

.qr-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  cursor: pointer;
}

.qr-modal__dialog {
  position: relative;
  background: #1E1E1E;
  border-radius: var(--border-radius-m);
  padding: 48px 64px;
  max-width: 540px;
  width: 90%;
  text-align: center;
  color: #fff;
}

.qr-modal__close {
  position: absolute;
  top: 16px;
  left: 16px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  line-height: 0;
}

.qr-modal__title {
  margin-bottom: 32px;
}

.qr-modal__qr {
  display: inline-block;
  border-radius: 16px;
  overflow: hidden;
}

.qr-modal__qr-img {
  display: block;
  width: 200px;
  height: 200px;
}

/* ==========================================================================
   12. LEGACY LEGAL PAGES
   Styles ported from style.css for: dataprotect, terms, cookies, eula,
   goodwalletterms pages. Kept as-is to avoid breakage.
   ========================================================================== */

/* --------------------------------------------------------------------------
   12a. Container override — legal pages use block layout, not CSS Grid
   -------------------------------------------------------------------------- */

.legal-2019 .container {
  display: block;
  grid-template-columns: none;
  gap: 0;
  padding-right: 24px;
  padding-left: 24px;
  max-width: none;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  .legal-2019 .container {
    padding-right: 36px;
    padding-left: 36px;
  }
}
@media only screen and (min-width: 1200px) {
  .legal-2019 .container {
    padding-left: 0;
    padding-right: 0;
    max-width: 1200px;
  }
}

/* --------------------------------------------------------------------------
   12b. Legacy flexbox row & column base
   -------------------------------------------------------------------------- */

.legal-2019 .row-fb2 {
  box-sizing: border-box;
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  margin-right: -8px;
  margin-left: -8px;
}

.legal-2019 .col-xs-12 {
  box-sizing: border-box;
  flex: 0 0 auto;
  padding-right: 8px;
  padding-left: 8px;
  flex-basis: 100%;
  max-width: 100%;
}

/* --------------------------------------------------------------------------
   12c. Legacy typography classes
   -------------------------------------------------------------------------- */

.Header-3-Dark-Gray {
  font-family: "proxima-nova-extrabold";
  font-weight: normal;
  color: #181818;
  font-size: 48px;
  line-height: 0.88;
  letter-spacing: -0.4px;
}
@media only screen and (min-width: 768px) {
  .Header-3-Dark-Gray {
    font-size: 52px;
    line-height: 0.81;
    letter-spacing: -0.4px;
  }
}
@media only screen and (min-width: 1200px) {
  .Header-3-Dark-Gray {
    font-size: 64px;
    line-height: 0.84;
    letter-spacing: -0.5px;
  }
}

.Header-4-Dark-Gray {
  font-family: "proxima-nova-extrabold";
  font-weight: normal;
  color: #181818;
  font-size: 34px;
  line-height: 0.88;
}
@media only screen and (min-width: 768px) {
  .Header-4-Dark-Gray {
    font-size: 36px;
    line-height: 0.83;
  }
}

.Big-Body-Left {
  font-family: "proxima-nova-regular";
  font-size: 16px;
  font-weight: 300;
  line-height: 1.25;
  color: #181818;
}
@media only screen and (min-width: 992px) {
  .Big-Body-Left {
    font-size: 24px;
  }
}

.Body-Left {
  font-family: "proxima-nova-regular";
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  color: #181818;
  text-align: left;
}

/* --------------------------------------------------------------------------
   12d. Legal page — .legal-2019 block
   -------------------------------------------------------------------------- */

.legal-2019 {
  background-color: white;
}
.legal-2019 .u-margin-bottom-small {
  margin-bottom: 9px;
}
.legal-2019 .u-margin-bottom-medium {
  margin-bottom: 38px;
}
.legal-2019 .u-margin-top-large {
  margin-top: 87px;
}
.legal-2019 .u-margin-top-medium {
  margin-top: 37px;
}
.legal-2019 .legal-container {
  margin-top: 48px;
  margin-bottom: 192px;
  background-color: #ffffff;
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (min-width: 992px) {
  .legal-2019 .legal-container {
    margin-top: 96px;
  }
}
@media only screen and (min-width: 1200px) {
  .legal-2019 .legal-container {
    padding-left: 150px;
    padding-right: 200px;
  }
}
.legal-2019 .legal-container .legal-caption {
  text-transform: uppercase;
  word-break: break-word;
}
@media only screen and (max-width: 575px) {
  .legal-2019 .legal-container .legal-caption.Header-3-Dark-Gray {
    font-size: 34px;
  }
  .legal-2019 .legal-container .legal-caption.Header-4-Dark-Gray {
    font-size: 28px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .legal-2019 .legal-container .legal-caption.Header-3-Dark-Gray {
    font-size: 34px;
  }
  .legal-2019 .legal-container .legal-caption.Header-4-Dark-Gray {
    font-size: 28px;
  }
}
.legal-2019 .legal-container ul {
  margin-left: 20px;
}
.legal-2019 .legal-container ul li {
  list-style: disc;
}
.legal-2019 .legal-container table.legalTable {
  margin: 20px 0;
  width: 100%;
  text-align: left;
  border-collapse: collapse;
  table-layout: fixed;
}
.legal-2019 .legal-container table.legalTable td,
.legal-2019 .legal-container table.legalTable th {
  border: 1px solid #000000;
  padding: 5px 4px;
  width: 100%;
}
.legal-2019 .legal-container table.legalTable thead {
  background: #CFCFCF;
  background: -moz-linear-gradient(top, #dbdbdb 0%, #d3d3d3 66%, #CFCFCF 100%);
  background: -webkit-linear-gradient(top, #dbdbdb 0%, #d3d3d3 66%, #CFCFCF 100%);
  background:
    linear-gradient(
      to bottom,
      #dbdbdb 0%,
      #d3d3d3 66%,
      #cfcfcf 100%);
}
.legal-2019 .legal-container table.legalTable td {
  word-break: break-word;
}

/* --------------------------------------------------------------------------
   12e. Link styling for legal page anchors
   -------------------------------------------------------------------------- */

.legal-2019 a:not(.top-nav__link):not(.top-nav__cta):not(.top-nav__logo):not(.top-nav__mobile-link):not(.footer__nav-link):not(.footer__store-link):not(.footer__social-link):not(.footer__legal-link) {
  word-break: break-word;
  font-family: "proxima-nova-regular";
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  color: #181818;
  text-decoration: underline;
}

/* ==========================================================================
   13. PARTNER PAGE (copied from style.css)
   ========================================================================== */

/* --------------------------------------------------------------------------
   13. Partner page wrapper reset
   -------------------------------------------------------------------------- */

#root-wrapper {
  position: static;
  overflow: visible;
}

#root-wrapper.partners-page {
  background-color: #fff;
  color: #000;
}

/* --------------------------------------------------------------------------
   13a. d2023 base / shared classes
   -------------------------------------------------------------------------- */

@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-250px * 7));
  }
}
.d2023 .slider-x {
  background: transparent;
  height: 100px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.d2023 .slider-x::before,
.d2023 .slider-x::after {
  background:
    linear-gradient(
      to right,
      #ffffff 0%,
      rgba(255, 255, 255, 0) 100%);
  content: "";
  height: 100px;
  position: absolute;
  width: 200px;
  z-index: 2;
}
.d2023 .slider-x::after {
  right: 0;
  top: 0;
  transform: rotateZ(180deg);
}
.d2023 .slider-x::before {
  left: 0;
  top: 0;
}
.d2023 .slider-x .slide-track {
  animation: scroll 40s linear infinite;
  display: flex;
  width: calc(250px * 14);
}
.d2023 .slider-x .slide {
  height: 100px;
  width: 250px;
  object-fit: contain;
}
.d2023 .slider-x .slide img {
  height: 70px;
  object-fit: contain;
}
.d2023 .container {
  display: block;
  position: relative;
  max-width: 1264px;
  padding-right: 20px;
  padding-left: 20px;
  margin-inline: auto;
}
.d2023 .container.centered {
  text-align: center;
}
.d2023 .container.flex {
  justify-content: space-between;
}
.d2023 .h1 {
  margin-top: 52px;
  padding-bottom: 3px;
  font-family: proxima-nova-bold, sans-serif;
  font-size: 72px;
  line-height: 80px;
  white-space: normal;
}
.d2023 .h1.white {
  position: relative;
  margin-top: 124px;
  color: #fff;
}
.d2023 .subheader.body-regular {
  font-family: proxima-nova-regular, sans-serif;
  font-size: 24px;
  line-height: 32px;
  font-weight: 600;
}
.d2023 .subheader.body-regular.white {
  position: relative;
}
.d2023 .checks {
  width: 400px;
  margin-bottom: 37px;
  border-radius: 8px;
  background-color: #fff;
}
.d2023 .checks.box-shadow {
  padding-top: 18px;
  padding-bottom: 18px;
  background-color: #fff;
}
.d2023 .checks.partner-checks {
  margin-bottom: 0px;
  padding: 32px 24px 34px 0px;
}
.d2023 .body {
  font-family: proxima-nova-regular, sans-serif;
}
.d2023 .title-2 {
  font-family: proxima-nova-regular, sans-serif;
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
}
.d2023 .body-regular {
  font-family: proxima-nova-regular, sans-serif;
  font-size: 24px;
  line-height: 32px;
}
.d2023 .body-small {
  display: flex;
  font-size: 18px;
  line-height: 24px;
}
.ptc-item-description-wrapper .body-small {
  margin-top: 10%;
}
.d2023 .body-small.testemonial-desc {
  margin-top: 12px;
  margin-right: -10px;
  padding-bottom: 8px;
}
.d2023 .body-small.testemonial-desc.s4 {
  margin-right: -20px;
}
.d2023 .h2 {
  font-family: proxima-nova-bold, sans-serif;
  font-size: 56px;
  line-height: 62px;
  font-weight: normal;
}
.d2023 .h3 {
  font-family: proxima-nova-bold, sans-serif;
  font-size: 48px;
  line-height: 56px;
  font-weight: normal;
}
.d2023 .h3.centered {
  text-align: center;
}
.d2023 .title-1 {
  font-family: proxima-nova-bold, sans-serif;
  font-size: 38px;
  line-height: 44px;
  font-weight: normal;
}
.d2023 .caption {
  font-family: proxima-nova-bold, sans-serif;
  font-size: 22px;
  line-height: 30px;
  font-weight: normal;
}
.d2023 .body-big-bold {
  font-family: proxima-nova-bold, sans-serif;
  font-size: 32px;
  line-height: 42px;
  font-weight: normal;
}
.d2023 .body-regular-bold {
  font-family: proxima-nova-bold, sans-serif;
  font-size: 22px;
  line-height: 32px;
  font-weight: normal;
  text-align: left;
}
.d2023 .body-regular-bold.kpi-desc {
  margin-top: 16px;
  margin-bottom: 8px;
  text-align: center;
}
.d2023 .body-small-bold {
  font-family: proxima-nova-bold, sans-serif;
  font-size: 18px;
  line-height: 24px;
  font-weight: normal;
}
.d2023 .white {
  width: auto;
  color: #fff;
}
.d2023 .box-shadow {
  border: 2px solid #000;
  border-radius: 8px;
  box-shadow: 8px 8px 0 -1px #000;
  transform: translate(0px, 0px);
}
.d2023 .cta-regular {
  font-family: proxima-nova-bold, sans-serif;
  font-size: 20px;
  line-height: 28px;
  font-weight: normal;
}
.d2023 .cta-small {
  font-family: proxima-nova-bold, sans-serif;
  font-size: 16px;
  line-height: 22px;
}
.d2023 .check-item {
  display: flex;
  width: 100%;
  margin-top: 8px;
  margin-bottom: 8px;
}
.d2023 .check-mark {
  margin-right: 16px;
  margin-left: 30px;
  object-fit: contain;
}
.d2023 .black-overlay {
  position: relative;
  left: 0px;
  top: 0px;
  right: 0px;
  bottom: 0px;
}
.d2023 .black-overlay.stretch {
  display: none;
  background-image:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.6) 40%,
      rgba(0, 0, 0, 0));
  background-clip: border-box;
  -webkit-text-fill-color: inherit;
}
.d2023 .black-overlay.stretch.uniform-overlay {
  display: block;
  background-image:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.5),
      rgba(0, 0, 0, 0.5));
}
.d2023 .stretch {
  position: absolute;
  left: 0px;
  top: 0px;
  right: 0px;
  bottom: 0px;
}
.d2023 .flex {
  position: relative;
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
.d2023 .our-soulition-link {
  padding-left: 67px;
  font-style: normal;
  text-decoration: none;
}
.d2023 .div-block-16 {
  display: none;
}
.d2023 ._06-partnerwith {
  position: relative;
  padding-top: 117px;
  padding-bottom: 250px;
  background-image: url(../images/homepages/2023v1/Desktop_banners_parallax02-516d7de16737e93aceda61f786d7859a.jpg?vsn=d);
  background-position: 0px 0px;
  background-size: auto;
  background-attachment: fixed;
  background-repeat: repeat;
}
.d2023 ._06-partnerwith.white {
  padding-bottom: 171px;
}
.d2023 .slide-nav {
  display: none;
}
.d2023 .program-logos {
  display: flex;
  overflow: hidden;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  justify-content: space-between;
  background-color: #0B0A11;
  -o-object-fit: contain;
  object-fit: contain;
}
@keyframes scroll-companies {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-200px * 9));
  }
}
.d2023 .program-logos .slider-x {
  height: 70px;
}
.d2023 .program-logos .slider-x::before,
.d2023 .program-logos .slider-x::after {
  background:
    linear-gradient(
      to right,
      #0B0A11 0%,
      rgba(11, 10, 17, 0) 100%);
  height: 70px;
  width: 90px;
}
.d2023 .program-logos .slider-x .slide-track {
  animation: scroll-companies 50s linear infinite;
  display: flex;
  width: calc(200px * 9 * 3);
}
.d2023 .program-logos .slider-x .slide {
  height: 70px;
  width: 200px;
  object-fit: scale-down;
}
.d2023 .program-logos .slider-x .slide img {
  height: 70px;
  object-fit: scale-down;
}
.d2023 ._07-partnersslider {
  background-color: #0B0A11;
}
.d2023 .testemonials-slider {
  display: block;
  padding-top: 18px;
  background-color: #185fbc;
}
.d2023 .testemonial-card.box-shadow {
  display: flex;
  min-height: 433px;
  min-width: 306px;
  margin-right: 25px;
  margin-left: 19px;
  margin-bottom: 7px;
  padding: 14px 24px 0px;
  flex-direction: column;
  justify-content: space-between;
  background-color: #fff;
  background-image: url(../images/homepages/2023v1/ellipse-corner-orange-29a8c7f382154a9db855eedb2d84b69f.svg?vsn=d);
  background-position: 100% 0%;
  background-size: auto;
  background-repeat: no-repeat;
  -o-object-fit: contain;
  object-fit: contain;
  height: 395px;
}
.d2023 .testemonial-card.box-shadow.tc2 {
  background-image: url(../images/homepages/2023v1/ellipse-corner-blue-f008dd97b7c499e96bee7927dfc66ec2.svg?vsn=d);
}
.d2023 .testemonial-card.box-shadow.tc3 {
  background-image: url(../images/homepages/2023v1/ellipse-corner-green-07f67b5e1e20948cb352fe1034bfb45f.svg?vsn=d);
}
.d2023 .image-12 {
  max-width: 150px;
  margin-bottom: 10px;
}
.d2023 .testimonial-logo {
  margin-top: auto;
  text-align: center;
}
.d2023 .div-block-21 {
  display: flex;
  justify-content: space-between;
}
.d2023 .image-14 {
  width: 75px;
  border: 2px solid #000;
  border-radius: 100%;
}
.d2023 .our-impact-play.lottie-animation-2 {
  position: absolute;
  margin: auto;
  cursor: pointer;
}
.d2023 .lottie-animation-2 {
  position: relative;
  width: 70px;
  height: 70px;
  margin-bottom: -40px;
}

/* --------------------------------------------------------------------------
   13b. Webflow framework classes
   -------------------------------------------------------------------------- */

.w-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}
.w-container:before,
.w-container:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-container:after {
  clear: both;
}
.w-slide {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 100%;
  white-space: normal;
  text-align: left;
}

.text-center {
  text-align: center !important;
}

/* --------------------------------------------------------------------------
   13c. Partner-specific styles
   -------------------------------------------------------------------------- */

.partner-head {
  position: relative;
  padding-top: 60px;
  width: 100%;
  background-image: url(../images/homepages/2023v1/HeroBanner_2-a4e8b95be43dcc635cfb4ad9f00842c7.gif?vsn=d);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position-y: 0;
  background-position-x: center;
}
.partner-head-black-overlay {
  background: rgba(0, 0, 0, 0.60);
}
.partner-head-content {
  text-align: center;
  width: 100%;
  max-width: 820px;
  margin: auto;
}
.partner-head-content > .h1.white {
  margin-top: 50px;
}
.partner-head-stats {
  display: flex;
  justify-content: space-between;
  margin-top: 17px;
  margin-bottom: 20px;
}
.partner-header-play {
  height: 120px;
}
.partner-header-bottom-text {
  position: absolute;
  left: 0%;
  top: auto;
  right: 0%;
  bottom: 0px;
  min-height: 6vw;
  background-color: transparent;
  background-image: url(../images/homepages/2023v1/blue-shape-in-91d2d9bda51e7368dbf6980c33fe75d7.svg?vsn=d);
  background-position: 50% 0%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1800px) {
  .partner-header-bottom-text {
    min-height: 100px;
  }
}
@media screen and (max-width: 1400px) {
  .partner-header-play {
    height: 150px;
  }
}
@media screen and (max-width: 991px) {
  .d2023 .partner-head .h1 {
    font-size: 32px;
    line-height: 40px;
  }
  .d2023 .partner-head .body-regular-bold {
    font-size: 18px;
    line-height: 24px;
  }
  .partner-head-stats {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
  .partner-header-play {
    height: 160px;
  }
}
@media screen and (max-width: 767px) {
  .partner-head {
    background-position-y: 0;
  }
}
@media screen and (max-width: 570px) {
  .partner-head-stats {
    flex-direction: column;
    align-items: center;
  }
  .partner-head-stats > * {
    margin-top: 4px;
    margin-bottom: 4px;
  }
}
@media screen and (max-width: 480px) {
  .partner-header-play {
    height: 180px;
  }
}
.partner-partners {
  background-color: #0B0A11;
  width: 100%;
  text-align: center;
}
.partner-partners-text {
  margin-bottom: 15px;
}
@media screen and (max-width: 991px) {
  .partner-partners {
    margin-top: -40px;
  }
  .partner-partners-text {
    margin-bottom: 5px;
  }
}
.partner-featured {
  background-color: #0B0A11;
  width: 100%;
  text-align: left;
  padding-top: 29px;
  padding-bottom: 50px;
}
.partner-featured-cards {
  width: 100%;
  display: flex;
  padding-top: 18px;
}
.partner-featured-card {
  height: 29vw;
  max-height: 382px;
  width: 50%;
  background: transparent;
  background-size: cover;
  background-repeat: no-repeat;
}
.pfc1 {
  background-image: url(../images/homepages/2023v1/featured_1-v2-d58da7703d148874c2308b446af17350.png?vsn=d);
  margin-right: 10px;
}
.pfc2 {
  background-image: url(../images/homepages/2023v1/featured_2-v2-a6e72fc51c7d9231d376afd2ba78916c.png?vsn=d);
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .partner-featured-cards {
    flex-direction: column;
  }
  .partner-featured-card {
    width: 100%;
    height: 58vw;
    max-height: 445px;
  }
  .pfc1 {
    margin-bottom: 38px;
    margin-right: 0;
  }
  .pfc2 {
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  .partner-featured-card {
    width: 100%;
    height: 93vw;
  }
  .pfc1 {
    background-image: url(../images/homepages/2023v1/featured_1_mob-v2-eef522e66d0e2c7c001b2262158a7c98.png?vsn=d);
  }
  .pfc2 {
    background-image: url(../images/homepages/2023v1/featured_2_mob-v2-3dbb5983daf7270da2eda387a578ed4d.png?vsn=d);
  }
}
.partner-programs {
  overflow: hidden;
}
.d2023 .partner-programs > .black-overlay.stretch {
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.60) 0%,
      rgba(0, 0, 0, 0.00) 100%);
}
.partner-programs-top-blue-shape {
  position: absolute;
  left: 0%;
  top: -5px;
  right: 0%;
  bottom: auto;
  min-height: 6vw;
  background-color: transparent;
  background-image: url(../images/homepages/2023v1/blue-shape-out-95e8f5ac62a9d9dbf04bba0898fa75b4.svg?vsn=d);
  background-position: 50% 0%;
  background-size: cover;
  background-repeat: no-repeat;
}
.partner-programs-bottom-green-shape {
  position: absolute;
  left: 0%;
  top: auto;
  right: 0%;
  bottom: 0px;
  min-height: 6vw;
  background-color: transparent;
  background-image: url(../images/homepages/2023v1/green-shape-in-476c47362bd4bd9aa9268dd5c3a6d08c.svg?vsn=d);
  background-position: 50% 0%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1800px) {
  .partner-programs-bottom-green-shape {
    min-height: 100px;
  }
}
.partner-program-video {
  position: relative;
  background: #0B0A11;
  min-height: 6vw;
}
.partner-program-video-link {
  position: absolute;
  z-index: 3;
  top: -270px;
  left: 50%;
  transform: translate(-50%, 0);
  border-radius: 8px;
  border: 3px solid #000;
  width: 600px;
  height: 341px;
  background-image: url(../images/homepages/2023v1/partner-gen-z-video-thumbnail-v2-7eeb7068514d6c0ce4d40fa7cde9f52d.png?vsn=d);
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.partner-program-video-link-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.30) 0%,
      rgba(0, 0, 0, 0.30) 100%);
}
.partner-program-video-link > div > img {
  transform: translate(0, -25%);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .partner-program-video-link {
    width: 387px;
    height: 221px;
    top: -200px;
  }
  .partner-program-video-link > div > img {
    transform: none;
    cursor: pointer;
  }
}
.partner-programs-top-white-shape {
  position: absolute;
  z-index: 3;
  left: 0%;
  top: auto;
  right: 0%;
  bottom: 0px;
  min-height: 6vw;
  background-color: transparent;
  background-image: url(../images/homepages/2023v1/white-shape-out-c08f67a387fb2aad3d29edf22453b4b2.svg?vsn=d);
  background-position: 50% 0%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1800px) {
  .partner-programs-top-white-shape {
    min-height: 100px;
  }
}
.partner-built-by {
  min-height: 10vw;
  background: white;
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.partner-built-by-heading {
  max-width: 100%;
  position: relative;
  margin: auto;
  width: 900px;
  padding-left: 8%;
  padding-top: 160px;
}
.partner-built-by > img {
  padding-left: 60px;
}
.partner-built-by > h3 {
  max-width: 888px;
  margin: 20px auto;
  text-align: center;
}
.partner-built-by-text {
  max-width: 900px;
  margin: auto;
  text-align: center;
}
.partner-built-by-text > .body-small {
  display: inline;
}
@media screen and (max-width: 768px) {
  .partner-built-by-heading {
    padding-left: 10%;
    padding-top: 60px;
  }
}
.partner-posts-slider > .program-logos {
  background-color: white;
  margin-top: 30px;
}
.partner-posts-slider .program-logos .slider-x .slide-track {
  width: calc(262px * 9 * 3);
}
.partner-posts-slider .program-logos .slider-x::before,
.d2023 .program-logos .slider-x::after {
  background:
    linear-gradient(
      to right,
      white 0%,
      rgba(255, 255, 255, 0) 100%);
  height: 70px;
  width: 90px;
}
.partner-posts-slider > .program-logos > .slider-wrapper > .slider-x {
  height: 375px;
}
.partner-posts-slider > .program-logos > .slider-wrapper > .slider-x > .slide-track > .slide {
  height: 362px;
  width: 262px;
}
.partner-posts-slider > .program-logos > .slider-wrapper > .slider-x > .slide-track > .slide > img {
  height: 312px;
  border-radius: 4px;
  box-shadow: 2px 2px 22px 0px rgba(0, 0, 0, 0.10);
}
.partner-posts-slider > .program-logos > .slider-wrapper > .slider-x > .slide-track > div:nth-child(even) {
  transform: rotate(1.5deg);
  padding: 17px 17px 17px 17px;
}
.partner-posts-slider > .program-logos > .slider-wrapper > .slider-x > .slide-track > div:nth-child(odd) {
  transform: rotate(-1.5deg);
  padding: 43px 17px 17px 17px;
}
.partner-tec-and-community {
  display: block;
}
.partner-tec-and-community-heading {
  width: 100%;
  margin-bottom: 48px;
}
.partner-tec-and-community-heading > h2 {
  max-width: 754px;
  margin-top: 64px;
}
.partner-tec-and-community-items {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.partner-tec-and-community-item {
  width: 100%;
  display: flex;
  height: 376px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 0 65%;
  align-items: center;
  padding-left: 8%;
  margin-bottom: 64px;
}
.ptc-item {
  width: 100%;
  height: 376px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 64px;
}
.ptc-bck-container {
  position: absolute;
  top: 50%;
  transform: translate(0, -25%);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: stretch;
}
.pci-head-num {
  width: 73px;
  height: 73px;
  font-size: 24px;
  font-family: "proxima-nova-bold";
  border: 2px solid #FCC941;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pci-line {
  height: 2px;
  border: 1px solid #FCC941;
  flex-grow: 1;
}
.pci-line-end {
  width: 10px;
  height: 10px;
  border: 5px solid #FCC941;
  border-radius: 50%;
}
.ptc-item-headings {
  display: flex;
  justify-content: center;
  align-items: start;
  flex-direction: column;
  height: 100%;
  margin-left: 103px;
  z-index: 1;
  min-width: 371px;
}
.ptc-item-heading-2 {
  padding-left: 5px;
  padding-right: 15px;
  background: white;
}
.ptc-item-video-wrapper {
  display: flex;
  justify-content: end;
  padding-right: 7%;
  flex-grow: 1;
  background-image: url(../images/homepages/2023v1/partner-curved-arrow-e288516f445964d1963177d87a2f9a0d.svg?vsn=d);
  background-position: 95% 75%;
  background-size: auto;
  background-repeat: no-repeat;
}
.ptc-item-video {
  width: 211px;
  height: 370px;
  flex-shrink: 0;
  border-radius: 8px;
  border: 2px solid #000;
  box-shadow: 7px 7px 0px 0px #000;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.ptc-item-description-wrapper {
  width: 31%;
  margin-right: 5px;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: start;
  flex-direction: column;
}
.ptc-item-description {
  border-radius: 64px;
  border: 2px solid #000;
  box-shadow: 7px 7px 0px 0px #000;
  position: absolute;
  top: 50%;
  transform: translate(0, 25%);
  padding-left: 15px;
  padding-right: 15px;
}
.partner-tec-and-community-item-video {
  width: 211px;
  height: 370px;
  flex-shrink: 0;
  border-radius: 8px;
  border: 2px solid #000;
  box-shadow: 7px 7px 0px 0px #000;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 42%;
}
.pci-logos {
  height: 83px;
  width: 100%;
  display: flex;
  position: relative;
}
.partner-contact {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  background: #1A191F;
  border-radius: 104px;
  padding: 8px 32px;
  border: none;
  text-decoration: none;
}
a.partner-contact span.text-cta {
  color: var(--color-text-white);
  white-space: nowrap;
}
a.partner-contact .button-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-btn-primary);
  color: var(--color-btn-primary-text);
  text-align: center;
  border-radius: 999px;
  height: 40px;
  padding: 0 24px;
  white-space: nowrap;
}
@media screen and (max-width: 1039px) {
  .ptc-item-video-wrapper {
    background-position: 100% 80%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 991px) {
  .pci-head-num {
    width: 60px;
    height: 60px;
  }
  .ptc-item-headings {
    min-width: 230px;
    margin-left: 66px;
  }
}
@media screen and (max-width: 1200px) {
  .partner-tec-and-community-item {
    background-position: 0 60%;
  }
}
@media screen and (max-width: 1100px) {
  .partner-tec-and-community-item-video {
    left: 45%;
  }
}
@media screen and (max-width: 991px) {
  .partner-tec-and-community-heading {
    height: 200px;
    background-position: 70% 0;
  }
  .partner-tec-and-community-heading > h2 {
    max-width: 460px;
    padding-top: 40px;
  }
  .partner-tec-and-community-item-video {
    left: 38%;
  }
  .partner-tec-and-community-item {
    background-position: 0 54%;
  }
}
.partner-tec-and-community-item-video > div > img {
  transform: translate(0, -25%);
  cursor: pointer;
}
.partner-tec-and-community-item > h2 {
  background: white;
}
.ptc-1 .ptc-item-video {
  background-image: url(../images/homepages/2023v1/partner-tec-1-b1b6d63bced1682e9408f1cfc6c749e0.png?vsn=d);
}
.ptc-1 .pci-head-mob .pci-head-mob-num {
  border: 2px solid #FCC941;
}
.ptc-1 .pci-line-mob {
  border: 1px solid #FCC941;
}
.ptc-1 .ptc-item-description {
  background: #FCC941;
}
.ptc-1 .pci-logos .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-1-29be4b4c6a2ded37de725a35edc7c429.png?vsn=d);
}
.ptc-1 .pci-logos .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-1-e86226b8e62c5bccde6fda1b6f598e0e.png?vsn=d);
}
.ptc-2 .ptc-item-video {
  background-image: url(../images/homepages/2023v1/partner-tec-2-27e7c869d8c803a1dd9528f6961f5fd7.png?vsn=d);
}
.ptc-2 .pci-head-num {
  border: 2px solid #185FBC;
}
.ptc-2 .pci-line {
  border: 1px solid #185FBC;
}
.ptc-2 .pci-line-end {
  border: 5px solid #185FBC;
}
.ptc-2 .ptc-item-description {
  color: #ffffff;
  background: #185FBC;
}
.ptc-2 .pci-logos .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-2-9a18530a9a912b69b03ea581db3d94fb.png?vsn=d);
}
.ptc-2 .pci-logos .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-2-4e0832cde0871f07b61d3485e1a47822.png?vsn=d);
}
.ptc-3 .ptc-item-video {
  background-image: url(../images/homepages/2023v1/partner-tec-3-fbc85cf5a168beaaa70f83fb134fc917.png?vsn=d);
}
.ptc-3 .pci-head-num {
  border: 2px solid #008D55;
}
.ptc-3 .pci-line {
  border: 1px solid #008D55;
}
.ptc-3 .pci-line-end {
  border: 5px solid #008D55;
}
.ptc-3 .ptc-item-description {
  color: #ffffff;
  background: #008D55;
}
.ptc-3 .pci-logos .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-3-582cd1aa7e1ee7effcb86ef69263144c.png?vsn=d);
}
.ptc-3 .pci-logos .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-3-adf8067a838a88c16a2028e28a715f53.png?vsn=d);
}
.ptc-4 .ptc-item-video {
  background-image: url(../images/homepages/2023v1/partner-tec-4-50316a4e5c46c29424fa2277d484f524.png?vsn=d);
}
.ptc-4 .pci-head-num {
  border: 2px solid #FCC941;
}
.ptc-4 .pci-line {
  border: 1px solid #FCC941;
}
.ptc-4 .pci-line-end {
  border: 5px solid #FCC941;
}
.ptc-4 .ptc-item-description {
  background: #FCC941;
}
.ptc-4 .pci-logos .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-4-beab962268b9602e0d73b53bef995bb0.png?vsn=d);
}
.ptc-4 .pci-logos .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-4-cc56eb76b6b0cc77c0ed904b0d23dc87.png?vsn=d);
}
.ptc-5 .ptc-item-video {
  background-image: url(../images/homepages/2023v1/partner-tec-5-f58a66ee1954e6ecb9fcca0c1a15c2fa.png?vsn=d);
}
.ptc-5 .pci-head-num {
  border: 2px solid #185FBC;
}
.ptc-5 .pci-line {
  border: 1px solid #185FBC;
}
.ptc-5 .pci-line-end {
  border: 5px solid #185FBC;
}
.ptc-5 .ptc-item-description {
  color: #ffffff;
  background: #185FBC;
}
.ptc-5 .pci-logos .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-5-34c3caa7f3811298b533026913e9cc62.png?vsn=d);
}
.ptc-5 .pci-logos .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-5-6977a4676687c0ca3343d03079c2e637.png?vsn=d);
}
.partner-tec-and-community-mob {
  display: none;
}
.partner-tec-and-community-mob > div > h2 {
  margin-bottom: 27px;
  max-width: 460px;
}
.pci-head-mob {
  width: 100%;
  display: flex;
  align-items: center;
  height: 66px;
}
.pci-head-mob-num {
  width: 43px;
  height: 43px;
  font-size: 20px;
  font-family: "proxima-nova-bold";
  border: 2px solid #FCC941;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 15px;
}
.pci-video-mob {
  width: 273px;
  height: 173px;
  flex-shrink: 0;
  border-radius: 8px;
  border: 2px solid #000;
  display: flex;
  align-items: center;
  justify-content: center;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 16px;
  margin-bottom: 8px;
  background-position: 0px -107px;
}
.pci-description-mob {
  min-height: 120px;
}
.pci-head-mob > div > .h2 {
  margin: 0;
}
.pci-line-mob {
  margin-top: 10px;
  height: 2px;
  width: 100%;
}
.pci-logos-mob {
  margin-top: 2px;
  margin-bottom: 36px;
  height: 83px;
  width: 100%;
  display: flex;
  position: relative;
}
.pci-logo-left {
  width: 50%;
  background-repeat: no-repeat;
  background-size: contain;
}
.pci-logo-right {
  width: 50%;
  background-repeat: no-repeat;
  background-size: contain;
}
.pci-text-right {
  display: flex;
  font-weight: bold;
  font-size: 16px;
  margin-top: 20%;
  margin-left: 50%;
}
.pci-1-mob > .pci-video-mob {
  background-image: url(../images/homepages/2023v1/partner-tec-1-b1b6d63bced1682e9408f1cfc6c749e0.png?vsn=d);
}
.pci-1-mob > .pci-head-mob > .pci-head-mob-num {
  border: 2px solid #FCC941;
}
.pci-1-mob > .pci-line-mob {
  border: 1px solid #FCC941;
}
.pci-1-mob .pci-logos-mob .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-1-29be4b4c6a2ded37de725a35edc7c429.png?vsn=d);
}
.pci-1-mob .pci-logos-mob .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-1-e86226b8e62c5bccde6fda1b6f598e0e.png?vsn=d);
}
.pci-2-mob > .pci-video-mob {
  background-position: 0 -20px;
  background-image: url(../images/homepages/2023v1/partner-tec-2-27e7c869d8c803a1dd9528f6961f5fd7.png?vsn=d);
}
.pci-2-mob > .pci-head-mob > .pci-head-mob-num {
  border: 2px solid #185FBC;
}
.pci-2-mob > .pci-line-mob {
  border: 1px solid #185FBC;
}
.pci-2-mob > .pci-logos-mob > .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-2-9a18530a9a912b69b03ea581db3d94fb.png?vsn=d);
}
.pci-2-mob > .pci-logos-mob > .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-2-4e0832cde0871f07b61d3485e1a47822.png?vsn=d);
}
.pci-3-mob > .pci-video-mob {
  background-image: url(../images/homepages/2023v1/partner-tec-3-fbc85cf5a168beaaa70f83fb134fc917.png?vsn=d);
  background-position: 0 -55px;
}
.pci-3-mob > .pci-head-mob > .pci-head-mob-num {
  border: 2px solid #008D55;
}
.pci-3-mob > .pci-line-mob {
  border: 1px solid #008D55;
}
.pci-3-mob > .pci-logos-mob > .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-3-582cd1aa7e1ee7effcb86ef69263144c.png?vsn=d);
}
.pci-3-mob > .pci-logos-mob > .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-3-adf8067a838a88c16a2028e28a715f53.png?vsn=d);
}
.pci-4-mob > .pci-video-mob {
  background-image: url(../images/homepages/2023v1/partner-tec-4-50316a4e5c46c29424fa2277d484f524.png?vsn=d);
}
.pci-4-mob > .pci-head-mob > .pci-head-mob-num {
  border: 2px solid #FCC941;
}
.pci-4-mob > .pci-line-mob {
  border: 1px solid #FCC941;
}
.pci-4-mob > .pci-logos-mob > .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-4-beab962268b9602e0d73b53bef995bb0.png?vsn=d);
}
.pci-4-mob > .pci-logos-mob > .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-4-cc56eb76b6b0cc77c0ed904b0d23dc87.png?vsn=d);
}
.pci-5-mob > .pci-video-mob {
  background-image: url(../images/homepages/2023v1/partner-tec-5-f58a66ee1954e6ecb9fcca0c1a15c2fa.png?vsn=d);
}
.pci-5-mob > .pci-head-mob > .pci-head-mob-num {
  border: 2px solid #185FBC;
}
.pci-5-mob > .pci-line-mob {
  border: 1px solid #185FBC;
}
.pci-5-mob > .pci-logos-mob > .pci-logo-left {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-left-5-34c3caa7f3811298b533026913e9cc62.png?vsn=d);
}
.pci-5-mob > .pci-logos-mob > .pci-logo-right {
  background-image: url(../images/homepages/2023v1/partner-tec-mob-logo-right-5-6977a4676687c0ca3343d03079c2e637.png?vsn=d);
}
.partner-why-partner {
  padding-top: 57px;
}
.partner-why-partner-reasons {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.partner-why-partner-reason-item {
  margin-top: 82px;
  max-width: 352px;
  margin-right: 15px;
}
.pwr-head-wrapper {
  display: flex;
  padding-bottom: 16px;
  align-items: center;
}
.pwr-head-logo {
  height: 80px;
  width: 80px;
}
.pwr-head-heading {
  margin-left: 16px;
}
.pwr-line {
  width: 100%;
}
.pwr-description {
  min-height: 72px;
  margin-top: 21px;
  margin-bottom: 26px;
}
.pwr-check-boxes {
  width: 100%;
  min-height: 144px;
  margin-top: 23px;
  margin-bottom: 39px;
}
.pwr-check-box-item {
  width: 100%;
  display: flex;
}
.pwr-check-box-icon {
  height: 24px;
  min-width: 24px;
  margin-bottom: 12px;
  margin-right: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.pwr-logos {
  width: 100%;
  height: 56px;
  position: relative;
  margin-top: 24px;
  margin-bottom: 56px;
  display: flex;
  justify-content: space-between;
}
.pwr-logos > * {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 33%;
  height: 100%;
}
.pwr-1 .pwr-head-logo {
  background-image: url(../images/homepages/2023v1/parnter-why-companies-logo-2b40a027bd827e5ed9e8a732287d3355.png?vsn=d);
}
.pwr-1 .pwr-head-heading {
  color: #008D55;
}
.pwr-1 .pwr-line {
  border: 2px solid #008D55;
}
.pwr-1 .pwr-check-box-icon {
  background-image: url(../images/homepages/2023v1/partner-ico-check-green-dbb3a3a27926c3f6127e7d5824e5203f.svg?vsn=d);
}
.pwr-1 .pwr-logo-left {
  background-image: url(../images/homepages/2023v1/partner-why-logo-left-1-0622c1f6ffe51ab478c9fdae868a4470.png?vsn=d);
}
.pwr-1 .pwr-logo-middle {
  background-image: url(../images/homepages/2023v1/partner-why-logo-middle-1-b2f93a531d6d5fd670522d4c189903b6.png?vsn=d);
}
.pwr-1 .pwr-logo-right {
  background-image: url(../images/homepages/2023v1/partner-why-logo-right-1-4f79e55e91b0ab5fd24c1246fbe0ba32.png?vsn=d);
}
.pwr-2 .pwr-head-logo {
  background-image: url(../images/homepages/2023v1/parnter-why-institutions-logo-56330a8d1a389fb24c9d686362ecaece.png?vsn=d);
}
.pwr-2 .pwr-head-heading {
  color: #EAAC07;
}
.pwr-2 .pwr-line {
  border: 2px solid #EAAC07;
}
.pwr-2 .pwr-check-box-icon {
  background-image: url(../images/homepages/2023v1/partner-ico-check-yellow-f97b2a7202f7fd3099f9cc901d2af7a9.svg?vsn=d);
}
.pwr-2 .pwr-logo-left {
  background-image: url(../images/homepages/2023v1/partner-why-logo-left-2-d1edf689d14bfc860fd9c40ef9101c33.png?vsn=d);
}
.pwr-2 .pwr-logo-middle {
  background-image: url(../images/homepages/2023v1/partner-why-logo-middle-2-9cd4c65da193e50b9d53d8c05df759f5.png?vsn=d);
}
.pwr-2 .pwr-logo-right {
  background-image: url(../images/homepages/2023v1/partner-why-logo-right-2-282762f0d8f5186a30bab5a62be661d5.png?vsn=d);
}
.pwr-3 .pwr-head-logo {
  background-image: url(../images/homepages/2023v1/parnter-why-nonprofits-logo-2efc434046d8f4a26394eda88efe65d7.png?vsn=d);
}
.pwr-3 .pwr-head-heading {
  color: #185FBC;
}
.pwr-3 .pwr-line {
  border: 2px solid #185FBC;
}
.pwr-3 .pwr-check-box-icon {
  background-image: url(../images/homepages/2023v1/partner-ico-check-blue-0a31a6e94751d45c510c2f6be7cbd2d8.svg?vsn=d);
}
.pwr-3 .pwr-logo-left {
  background-image: url(../images/homepages/2023v1/partner-why-logo-left-3-d5dce42b6b073855246c7d9474b92ea5.png?vsn=d);
}
.pwr-3 .pwr-logo-middle {
  background-image: url(../images/homepages/2023v1/partner-why-logo-middle-3-9eb441286c8c037eaa12d828d76d32cd.png?vsn=d);
}
.pwr-3 .pwr-logo-right {
  background-image: url(../images/homepages/2023v1/partner-why-logo-right-3-59d8fae66eb5cb2cd2364b3e51991d84.png?vsn=d);
}
.partner-shared-impact > div > .caption {
  margin-top: 61px;
  margin-bottom: 29px;
  width: 100%;
}
.partner-shared-impact-cards {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.partner-shared-impact-card {
  position: relative;
  width: 49%;
  border-radius: 16px;
  border: 2px solid #000;
  box-shadow: 7px 7px 0px 0px #000;
  height: 468px;
  margin-bottom: 53px;
  margin-top: 34px;
  overflow: hidden;
}
.partner-shared-impact-card-heading {
  position: relative;
  top: 0;
  width: 100%;
  height: 88px;
  background-image: url(../images/homepages/2023v1/dirty-touch-820ecfde0b49df713c27fb31088e67a5.png?vsn=d);
  padding-top: 25px;
  padding-left: 32px;
}
.partner-shared-impact-card-middle {
  width: 100%;
  height: 222px;
  background-position: 50% 0;
  background-size: cover;
  background-repeat: no-repeat;
}
.partner-shared-impact-card-middle > .cta-regular {
  padding-top: 18px;
  margin-left: 31px;
}
.partner-shared-impact-card-middle > .body-small {
  margin-top: 8px;
  margin-left: 31px;
  max-width: 211px;
}
.partner-shared-impact-card-end {
  margin-left: 31px;
  margin-top: 16px;
  margin-bottom: 16px;
}
.partner-shared-impact-card-end > * {
  margin-bottom: 16px;
}
.psi-1 {
  margin-bottom: 5px;
}
.psi-1 .partner-shared-impact-card-heading {
  background-color: #185FBC;
}
.psi-1 .partner-shared-impact-card-middle {
  background-image: url(../images/homepages/2023v1/partner-shared-impact-card-1-639e67e53620cf694ccaceea439c0f34.jpg?vsn=d);
}
.psi-2 .partner-shared-impact-card-heading {
  background-color: #00985B;
}
.psi-2 .partner-shared-impact-card-middle {
  background-image: url(../images/homepages/2023v1/partner-shared-impact-card-2-bbf7faae02d63c5dc0cd74b0b0e30c03.jpg?vsn=d);
}
.partner-join {
  background-color: #0B0A11;
  width: 100%;
  text-align: left;
  padding-top: 29px;
  padding-bottom: 50px;
}
.partner-empowering {
  background-color: white;
  width: 100%;
  text-align: center;
  padding-top: 91px;
}
.partner-empowering > .container > .h2 {
  max-width: 800px;
  margin: auto;
  padding-bottom: 50px;
}
.partner-empowering-video {
  background-color: white;
  width: 100%;
  background-image: url(../images/homepages/2023v1/parnter-empower-bck-d271bd11d6fcf4b0c9ef9f81977049ed.jpg?vsn=d);
  background-position: 50% 0;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 112px;
  padding-bottom: 72px;
}
.partner-empowering-video-link {
  background-image: url(../images/homepages/2023v1/parnter-empowering-play-bck-c63cf259d7ace4316b7e3da584a6d5df.png?vsn=d);
  width: 600px;
  height: 338px;
  margin: auto;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
}
.partner-empowering-video-link > div > img {
  transform: translate(0, -25%);
  cursor: pointer;
}

/* --------------------------------------------------------------------------
   13d. Tiny-slider (partner page testimonials carousel)
   -------------------------------------------------------------------------- */

.d2023 .tns-outer {
  padding: 0 !important;
}
.d2023 .tns-outer [hidden] {
  display: none !important;
}
.d2023 .tns-outer [aria-controls],
.d2023 .tns-outer [data-action] {
  cursor: pointer;
}
.d2023 .tns-slider {
  -webkit-transition: all 0s;
  -moz-transition: all 0s;
  transition: all 0s;
}
.d2023 .tns-slider > .tns-item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.d2023 .tns-horizontal.tns-subpixel {
  white-space: nowrap;
}
.d2023 .tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}
.d2023 .tns-horizontal.tns-no-subpixel:after {
  content: "";
  display: table;
  clear: both;
}
.d2023 .tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
}
.d2023 .tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
  margin-right: -100%;
}
.d2023 .tns-no-calc {
  position: relative;
  left: 0;
}
.d2023 .tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}
.d2023 .tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  -webkit-transition: transform 0s, opacity 0s;
  -moz-transition: transform 0s, opacity 0s;
  transition: transform 0s, opacity 0s;
}
.d2023 .tns-gallery > .tns-slide-active {
  position: relative;
  left: auto !important;
}
.d2023 .tns-gallery > .tns-moving {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.d2023 .tns-autowidth {
  display: inline-block;
}
.d2023 .tns-lazy-img {
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  transition: opacity 0.6s;
  opacity: 0.6;
}
.d2023 .tns-lazy-img.tns-complete {
  opacity: 1;
}
.d2023 .tns-ah {
  -webkit-transition: height 0s;
  -moz-transition: height 0s;
  transition: height 0s;
}
.d2023 .tns-ovh {
  overflow: hidden;
}
.d2023 .tns-visually-hidden {
  position: absolute;
  left: -10000em;
}
.d2023 .tns-transparent {
  opacity: 0;
  visibility: hidden;
}
.d2023 .tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}
.d2023 .tns-normal,
.d2023 .tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}
.d2023 .tns-vpfix {
  white-space: nowrap;
}
.d2023 .tns-vpfix > div,
.d2023 .tns-vpfix > li {
  display: inline-block;
}
.d2023 .tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden;
}
.d2023 .tns-t-ct {
  width: 2333.3333333%;
  width: -webkit-calc(100% * 70 / 3);
  width: -moz-calc(100% * 70 / 3);
  width: calc(100% * 70 / 3);
  position: absolute;
  right: 0;
}
.d2023 .tns-t-ct:after {
  content: "";
  display: table;
  clear: both;
}
.d2023 .tns-t-ct > div {
  width: 1.4285714%;
  width: -webkit-calc(100% / 70);
  width: -moz-calc(100% / 70);
  width: calc(100% / 70);
  height: 10px;
  float: left;
}
.d2023 .tns-outer {
  position: relative;
}
.d2023 .tns-outer .tns-controls {
  width: 102%;
  margin-left: -1%;
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 43%;
  z-index: 10;
}
.d2023 .tns-outer .tns-controls > button {
  background: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  color: #fff;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: medium;
  font-weight: bolder;
  cursor: pointer;
}
.d2023 .tns-outer .tns-controls > button:disabled {
  color: #fff;
  cursor: auto;
}

/* --------------------------------------------------------------------------
   13e. Partner page — responsive overrides
   -------------------------------------------------------------------------- */

@media screen and (max-width: 991px) {
  .pwr-description {
    min-height: 96px;
  }
  .partner-empowering {
    padding-top: 41px;
  }
  .partner-empowering > .container > .h2 {
    padding-bottom: 31px;
  }
}
@media screen and (max-width: 768px) {
  .partner-tec-and-community-mob .container h2 {
    padding-left: 24px;
  }
  .partner-tec-and-community-mob .container {
    padding-left: 0;
    padding-right: 0;
  }
  .partner-tec-and-community-mob {
    display: block;
  }
  .partner-tec-and-community {
    display: none;
  }
  .partner-tec-and-community-items-mob {
    display: flex;
    overflow-x: auto;
    padding-left: 24px;
  }
  .partner-tec-and-community-item-mob {
    width: 280px;
    height: 546px;
    margin-right: 24px;
  }
  .partner-why-partner > .container > .h2 {
    margin-bottom: 40px;
  }
  .pwr-description {
    margin-top: 16px;
    margin-bottom: 16px;
    min-height: 54px;
  }
  .pwr-check-boxes {
    min-height: 0;
    margin-top: 23px;
    margin-bottom: 23px;
  }
  .partner-shared-impact > div > .caption {
    margin-top: 23px;
    margin-bottom: 16px;
    width: 100%;
  }
  .partner-shared-impact-cards {
    flex-flow: column;
  }
  .partner-shared-impact-card {
    width: 100%;
    max-width: 618px;
  }
  .partner-why-partner-reasons {
    flex-flow: column;
  }
  .partner-why-partner-reason-item {
    margin: 0;
    max-width: 618px;
  }
  .partner-empowering-video-link {
    background-image: url(../images/homepages/2023v1/parnter-empowering-play-bck-mob-c251a0e0589647474e9e98da6103679f.png?vsn=d);
    width: 247px;
    height: 396px;
  }
  .pci-logo-right {
    margin-left: 10px;
  }
  .pci-text-right {
    padding-left: 6px;
    font-size: 14px;
    margin-top: 5%;
  }
}
@media screen and (max-width: 548px) {
  .partner-contact {
    width: auto;
    max-width: calc(100% - 32px);
    border-radius: 104px;
    bottom: 16px;
    padding: 8px 8px 8px 24px;
    gap: 12px;
  }
  .partner-contact span.text-cta {
    white-space: normal;
  }
  .partner-contact .button-cta {
    padding: 12px 24px;
  }
}
@media screen and (max-width: 479px) {
  .d2023 .checks.partner-checks {
    max-width: 100%;
  }
  .partner-program-video-link {
    width: calc(100% - 48px);
  }
}

/* --------------------------------------------------------------------------
   13f. d2023 shared responsive overrides (partner page)
   -------------------------------------------------------------------------- */

@media screen and (max-width: 991px) {
  .d2023 .container {
    padding-right: 24px;
    padding-left: 24px;
  }
  .d2023 .h1 {
    font-size: 40px;
    line-height: 46px;
  }
  .d2023 .h1.white {
    margin-top: 24px;
    margin-bottom: 0px;
    padding-bottom: 0px;
  }
  .d2023 .subheader.body-regular.white {
    max-width: 47%;
    margin-top: 16px;
    margin-bottom: 16px;
    font-size: 20px;
  }
  .d2023 .checks.box-shadow {
    width: 47%;
    max-width: 400px;
    margin-top: 23px;
    margin-right: 0px;
    margin-left: 0px;
    padding-left: 18px;
  }
  .d2023 .checks.partner-checks {
    width: 100%;
    padding: 16px 12px 15px 16px;
  }
  .d2023 .body {
    background-color: #fff;
  }
  .d2023 .body-regular {
    font-size: 20px;
    line-height: 26px;
  }
  .d2023 .body-small {
    font-size: 17px;
  }
  .d2023 .h2 {
    font-size: 32px;
    line-height: 40px;
  }
  .d2023 .h3 {
    font-size: 28px;
    line-height: 36px;
  }
  .d2023 .h3.centered {
    text-align: left;
  }
  .d2023 .title-1 {
    font-size: 22px;
    line-height: 30px;
  }
  .d2023 .caption {
    font-size: 18px;
    line-height: 24px;
  }
  .d2023 .body-big-bold {
    font-size: 24px;
    line-height: 30px;
  }
  .d2023 .body-regular-bold {
    font-size: 20px;
    line-height: 26px;
  }
  .d2023 .body-small-bold {
    font-size: 17px;
  }
  .d2023 .check-mark {
    margin-left: 0px;
    object-fit: contain;
  }
  .d2023 ._06-partnerwith {
    position: relative;
  }
  .d2023 .our-soulition-link.title-2 {
    padding-left: 36px;
  }
  .d2023 .div-block-16 {
    margin-top: 7px;
    margin-bottom: 7px;
  }
  .d2023 .testemonial-card.box-shadow {
    min-width: 341px;
  }
  .d2023 .testimonial-logo {
    position: relative;
  }
  .d2023 .lottie-animation-2 {
    margin-bottom: 0px;
  }
}

@media screen and (max-width: 767px) {
  .d2023 .testemonials-slider > .container {
    padding-left: 0;
    padding-right: 0;
  }
  .d2023 .testemonial-card.box-shadow {
    padding-right: 12px;
    padding-left: 12px;
    margin-right: 10px;
    margin-left: 15px;
  }
  .d2023 .h1.white {
    margin-top: 24px;
  }
  .d2023 .subheader.body-regular.white {
    max-width: 100%;
    margin-top: 16px;
    margin-bottom: 0px;
  }
  .d2023 .checks.box-shadow {
    width: auto;
  }
  .d2023 .checks.partner-checks {
    max-width: 400px;
  }
  .d2023 .body-regular-bold.kpi-desc {
    text-align: left;
  }
  .d2023 ._06-partnerwith {
    background-size: 800px;
    z-index: 2;
    padding-bottom: 209px;
    background-image: url(../images/homepages/2023v1/Mobile_banners_parallax02-ebc47cda91dc924a5686f0ac7bc493ca.jpg?vsn=d);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-attachment: unset;
  }
  .d2023 .black-overlay.stretch.uniform-overlay {
    display: block;
  }
  .d2023 .flex {
    flex-direction: column;
    align-items: flex-start;
  }
  .d2023 .div-block-17 {
    width: 100%;
    margin-top: 80px;
  }
  .d2023 .image-13 {
    display: block;
  }
}

@media screen and (max-width: 479px) {
  .d2023 .container {
    padding-top: 0px;
  }
  .d2023 .h1.white {
    margin-top: 24px;
  }
  .d2023 .subheader.body-regular.white {
    margin-top: 16px;
    margin-bottom: 0px;
  }
  .d2023 .subheader.body-regular.white .break {
    display: none;
  }
  .d2023 .checks.box-shadow {
    width: 100%;
    max-width: 400px;
    min-width: 235px;
  }
  .d2023 .h3.centered {
    text-align: left;
  }
  .d2023 .check-item {
    align-items: center;
  }
  .d2023 .check-mark {
    width: 20px;
    height: 20px;
    object-fit: contain;
  }
  .d2023 ._06-partnerwith {
    padding-bottom: 246px;
    padding-top: 30px;
  }
  .d2023 .testemonial-card.box-shadow {
    min-height: 447px;
    min-width: 263px;
    align-items: center;
  }
  .d2023 .testimonial-logo {
    margin-top: 0px;
    -ms-grid-row-align: auto;
    align-self: auto;
  }
}

@media screen and (min-width: 992px) {
  .d2023 .testemonials-slider {
    display: block;
    background-color: #0B0A11;
  }
  .d2023 .testemonial-card {
    max-width: 392px;
    height: 396px;
  }
  .d2023 .testemonial-card.box-shadow {
    margin-right: 25px;
    margin-left: 19px;
    padding: 24px 26px 14px 24px;
    background-color: #fff;
    background-image: url(../images/homepages/2023v1/ellipse-corner-orange-29a8c7f382154a9db855eedb2d84b69f.svg?vsn=d);
    background-position: 100% 0%;
    background-size: auto;
    background-repeat: no-repeat;
  }
}

/* ==========================================================================
   404 NOT FOUND PAGE
   ========================================================================== */

.not-found {
  padding: 80px 0;
}

.not-found__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.not-found__title {
  font-size: 42px;
}

@media (width >= 1280px) {
  .not-found__title {
    font-size: var(--font-headline-l);
  }
}
