/* ==================================================
   ASCENDION GLOBAL DESIGN SYSTEM
================================================== */
/* ==================================
   FONTS
================================== */
video.bn__bg-media {
    height: 100%;
}
/* Who We Are + Newsroom only */
.mega__item[data-item-id="2930"] .mega__panel--list > li:first-child,
.mega__item[data-item-id="401"]  .mega__panel--list > li:first-child {
  display: none;
}
body.wp-singular.page-template-default.page.page-id-2070 .acc-item--open .acc-item__panel {
    display: none;
}

body.wp-singular.page-template-default.page.page-id-2070 .acc-item {
    cursor: alias;
}

body.wp-singular.page-template-default.page.page-id-2070 button.acc-item__bar {cursor: auto;}
body.paged.wp-singular.page-template-default.page.page-id-2430 section.shortcode-section:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--space-20);
    pointer-events: none;
    z-index: 5;
    background-image: linear-gradient(#000, #000), linear-gradient(#000, #000);
    background-position: bottom left, bottom right;
    background-size: var(--space-20) var(--space-20);
    background-repeat: no-repeat;
}.single-news-book .itm-author__photo-wrap {
    position: relative;
}

.single-news-book .itm-author__photo-wrap:after {
    position: absolute;
    content: "";
    background: #fff;
    width: 20px;
    height: 20px;
    top: 0;
    right: 0;
}

body.paged.wp-singular.page-template-default.page.page-id-2430 section.shortcode-section {
    position: relative;
}

body.wp-singular.page-template-default.page.page-id-2070.page-parent.logged-in.admin-bar.wp-theme-ascendion-theme.customize-support {}
@media (max-width: 991px) {
  .mega__item[data-item-id="2930"] .mega__panel--list > li:first-child,
  .mega__item[data-item-id="401"]  .mega__panel--list > li:first-child {
    display: list-item;
  }
}
@media (max-width: 1400px) {
    .copy-section {
        order: 2;
    }

    ul#menu-terms-of-use {
        order: 1;
    }
}
header,div#mega{
	z-index:99 !important;
}
.nav--scrolled .nav__actions .cta-primary--light, .nav--scrolled .nav__actions  .nav--scrolledcta-primary--light:hover,
button#menu-toggle  {
    background: var(--neutral-deep-black-60) !important;
}img.logo-img.inmobile {
    display: none;
}

img.logo-img {
    display: block;
}
.nav__actions span.cta-primary__arrow {
    color: var(--neutral-white) !important;
    background: transparent !important;
}
.aava-gap_card.aava-gapcard--mint li.aava-gap_list-item:before {
    color: #000 !important;
}
input#nav-search-input::placeholder {
    font-family: var(--typeface-primary);
}

@font-face {
    font-family: 'PP Neue Machina';
    src: url('./fonts/PPNeueMachina-PlainRegular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'IBM Plex Sans';
    src: url('./fonts/IBMPlexSans_SemiCondensed-Regular.ttf') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {

  /* ── Brand ───────────────────────────────────────────── */
  --brand-neural-mint:        #00FAC2;
  --brand-dark-teal:          #008567;   /* hover accent for text-only CTAs on light bg */

  /* ── Neutral — solid ─────────────────────────────────── */
  --neutral-white:            #FFFFFF;
  --neutral-soft-grey:        #F4F4F4;
  --neutral-light-grey:       #CCCCCC;
  --neutral-medium-grey:      #999999;
  --neutral-slate-grey:       #666666;
  --neutral-charcoal:         #333333;
  --neutral-deep-black:       #1A1A1A;
  --neutral-black:            #000000;

  /* ── Neutral — transparency ──────────────────────────── */
  --neutral-white-20:         rgba(255, 255, 255, 0.20);
  --neutral-white-60:         rgba(255, 255, 255, 0.60);
  --neutral-black-10:         rgba(0,   0,   0,   0.10);
  --neutral-black-20:         rgba(0,   0,   0,   0.20);
  --neutral-black-30:         rgba(0,   0,   0,   0.30);
  --neutral-black-40:         rgba(0,   0,   0,   0.40);
  --neutral-black-60:         rgba(0,   0,   0,   0.60);
  --neutral-black-80:         rgba(0,   0,   0,   0.80);
  --neutral-deep-black-60:    rgba(26,  26,  26,  0.60);

  /* ── Typeface ────────────────────────────────────────── */
  --typeface-primary:         "PP Neue Machina", "IBM Plex Sans", sans-serif;
  --typeface-secondary:       "IBM Plex Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;

  /* ── Weight ──────────────────────────────────────────── */
  --weight-light:             300;
  --weight-regular:           400;
  --weight-plain-regular:     400;   /* alias — PP Neue Machina Plain Regular */
  --weight-medium:            500;
  --weight-semibold:          600;
  --weight-bold:              700;
  --weight-plain-ultrabold:   800;   /* PP Neue Machina Plain Ultrabold */

  /* ── Spacing primitives — 15 tiers ───────────────────── */
  --space-0:                  0px;
  --space-4:                  4px;
  --space-8:                  8px;
  --space-12:                 12px;
  --space-14:                 14px;
  --space-16:                 16px;
  --space-20:                 20px;
  --space-24:                 24px;
  --space-26:                 26px;
  --space-32:                 32px;
  --space-40:                 40px;
  --space-48:                 48px;
  --space-60:                 60px;
  --space-80:                 80px;
  --space-120:                120px;

  /* ── Breakpoint reference widths ─────────────────────── */
  --bp-desktop-ref:           1920px;
  --bp-tablet-ref:            820px;
  --bp-mobile-ref:            402px;

}


/* ============================================================
   LAYER B — RESPONSIVE TOKENS  ·  FLUID (clamp-based)
   No @media queries — every responsive value scales smoothly
   from its mobile minimum to its desktop maximum, hitting the
   exact Figma desktop value at 1440 px viewport.

   Formula per token:
     min       = the mobile-spec value
     max       = the desktop-spec value
     preferred = (desktop-value / 1440) × 100 vw
                 (so the max is reached at the 1440 px design width)

   Components read these tokens — never the primitives directly.
   Component-internal pixels (button heights, icon sizes, borders)
   stay fixed for accessibility + consistency.

   The discrete grid-column count (12 → 8 → 4) keeps its
   @media queries — column count must be an integer.
   ============================================================ */
.cta-arrow--ghost       { background: transparent; color: var(--brand-neural-mint); !important }
:root {

  /* ── Page margin · Figma: margin/margin
        Desktop 60 · Tablet 40 · Mobile 20                  */
  --margin-margin:            clamp(20px, 4.17vw, 60px);

  /* ── Layout grid gutter
        Desktop 20 · Tablet 16 · Mobile 12                  */
  --grid-gutter:              clamp(12px, 1.39vw, 20px);
  --grid-margin-fluid:        4.2%;
  --grid-columns:             12;   /* overridden in @media for tablet/mobile */

  /* ── Responsive spacing — 15 tiers (clamp from mobile → desktop) */
  --responsive-spacing-0:     0px;
  --responsive-spacing-4:     4px;
  --responsive-spacing-8:     clamp(4px,  0.56vw, 8px);
  --responsive-spacing-12:    clamp(8px,  0.83vw, 12px);
  --responsive-spacing-14:    clamp(8px,  0.97vw, 14px);
  --responsive-spacing-16:    clamp(12px, 1.11vw, 16px);
  --responsive-spacing-20:    clamp(12px, 1.39vw, 20px);
  --responsive-spacing-24:    clamp(14px, 1.67vw, 24px);
  --responsive-spacing-26:    clamp(14px, 1.81vw, 26px);
  --responsive-spacing-32:    clamp(20px, 2.22vw, 32px);
  --responsive-spacing-40:    clamp(20px, 2.78vw, 40px);
  --responsive-spacing-48:    clamp(24px, 3.33vw, 48px);
  --responsive-spacing-60:    clamp(32px, 4.17vw, 60px);
  --responsive-spacing-80:    clamp(40px, 5.56vw, 80px);
  --responsive-spacing-120:   clamp(60px, 8.33vw, 120px);

  /* ── Display type scale · fluid font + line-height pairs */
/*   --font-dis-1:               clamp(42px, 5.56vw, 80px);   --lh-dis-1:    clamp(42px, 6.11vw, 88px);
  --font-h1:                  clamp(32px, 4.2vw, 60px);   --lh-h1:       clamp(48px, 5.28vw, 76px);
  --font-h2:                  clamp(28px, 4.2vw, 48px);   --lh-h2:       clamp(40px, 4.17vw, 60px);
  --font-h3:                  clamp(20px, 3vw, 32px);   --lh-h3:         clamp(36px, 3.89vw, 56px);
  --font-h4:                  clamp(24px, 2.78vw, 40px);   --lh-h4:       clamp(32px, 3.33vw, 48px);
  --font-h5:                  clamp(20px, 2.22vw, 32px);   --lh-h5:       clamp(28px, 2.78vw, 40px);
  --font-h6:                  clamp(18px, 1.67vw, 24px);   --lh-h6:       clamp(26px, 2.22vw, 32px); */

  /* ── Body type scale · fluid font + line-height pairs */
/*   --font-body_xl:             clamp(22px, 2.22vw, 32px);   --lh-body_xl:  clamp(36px, 2.78vw, 40px);
  --font-body_l:              clamp(24px, 1.94vw, 28px);   --lh-body_l:   clamp(32px, 2.50vw, 36px);
  --font-body_m:              clamp(20px, 1.67vw, 24px);   --lh-body_m:   clamp(28px, 2.22vw, 32px);
  --font-body_s:              clamp(18px, 1.39vw, 20px);   --lh-body_s:   clamp(26px, 1.94vw, 28px);
  --font-body_xs:             clamp(16px, 1.25vw, 18px);   --lh-body_xs:  clamp(24px, 1.81vw, 26px);
  --font-body_xxs:            clamp(14px, 1.11vw, 16px);   --lh-body_xxs: clamp(20px, 1.67vw, 24px);
  --font-caption:             12px;                        --lh-caption:  clamp(16px, 1.39vw, 20px);
  --ls-caption:               0.01em;
  --font-cta:                 clamp(16px, 1.25vw, 18px);   --lh-cta:      clamp(24px, 1.81vw, 26px); */

	
	  --font-h1: clamp(32px, 4.2vw, 60px);
  --lh-h1: clamp(40px, 5.28vw, 76px);

  --font-h2: clamp(28px, 3.33vw, 48px);
  --lh-h2: clamp(36px, 3.89vw, 56px);

  --font-h3: clamp(20px, 2.78vw, 32px);
  --lh-h3: clamp(28px, 2.78vw, 40px);

  /* ── Body type scale ─────────────────────────── */

  --font-body_l: clamp(18px, 1.53vw, 22px);
  --lh-body_l: clamp(26px, 2.22vw, 32px);

  --font-body_s: clamp(16px, 1.25vw, 18px);
  --lh-body_s: clamp(24px, 1.81vw, 26px);

  --font-tags: clamp(12px, 0.97vw, 14px);
  --lh-tags: clamp(16px, 1.39vw, 20px);
  --ls-tags: 0.01em;

  --font-cta: clamp(16px, 1.25vw, 18px);
  --lh-cta: clamp(24px, 1.81vw, 26px);

  /* ── Spacing ─────────────────────────────────── */

  --space-module-y: clamp(32px, 4.17vw, 60px);
  --space-title-content: clamp(20px, 2.22vw, 32px);
}
p {
	padding: 0;
	margin : 0;
}

/* ───────────────────────────── GRID COLUMN COUNT
   Integer — can't be clamped. Keeps the discrete breakpoints.
   ----------------------------------------------------------- */

@media (max-width: 1023px) { :root { --grid-columns: 8; } }
@media (max-width: 719px)  { :root { --grid-columns: 4; } }



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

html, body {
  margin: 0;
  padding: 0;
  color: var(--neutral-white);
  font-family: var(--typeface-secondary);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* `clip` not `hidden` — `hidden` would establish a scroll container on
     html/body and break every `position: sticky` descendant (e.g. the
     .philosophy__pin). `clip` prevents horizontal scrolling without
     creating a scroll container, so sticky works.                       */
  overflow-x: clip;
}

/* Overscroll (rubber-band) bg · ONLY visible when the user pulls the
   page past its top or bottom edge. A mint field with a flickering
   pixel cloud animates behind it — same on/off DNA as the Impact-
   section pixel transitions, but ambient.

   How it works: the SVG is a 200×1200 sprite sheet containing 6 frames
   of 200×200 each. We tile horizontally and step background-position-y
   through the 6 frames so the visible band cycles through them — a
   flicker effect built entirely in CSS (SMIL animations don't run when
   an SVG is loaded as a background-image in Chrome/Safari).

   The <body> keeps the deep-black bg so it sits behind sections during
   normal scroll — nothing inside the document area changes color.    */
html {
/*   background-color: var(--brand-neural-mint); */
  background-image: url("./images/overscroll-pixel-cloud.svg");
  background-repeat: repeat;         /* tile in both axes; the 1200 px strip
                                        cycles seamlessly because frame 6's
                                        positions don't collide with frame 1's */
  background-size: 200px 1200px;
  background-position: 0 0;
  animation: overscroll-pixel-flicker 1.8s steps(6) infinite;
}
body { background: var(--neutral-deep-black); }

/* steps(6) discrete jumps through the 6 frames stacked in the sprite.
   1.8 s / 6 frames = 300 ms per frame — fast enough to read as
   flicker, slow enough to feel intentional, not strobey. */
@keyframes overscroll-pixel-flicker {
  from { background-position: 0    0;    }
  to   { background-position: 0 -1200px; }
}
 .itm-quote img {
    height: 50px;
    width: 50px;
}
img, svg, video { display: block; max-width: 100%; width:100%;}

a    { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }

/* =========================
   DESKTOP DEFAULT
========================= */

.site-footer__col .site-footer__list {
    flex-direction: row;
gap:var(--responsive-spacing-24);

/* =========================
   MOBILE ACCORDION
========================= */

@media (max-width: 767px) {

    .site-footer__top,nav.site-footer__col.site-footer__social-col  {
    display: block !important;
}

.site-footer__bottom {
     display: flex;
        justify-content: start;
        align-items: start;
        margin:0;
    
}
p.site-footer__copy {
    order: 2;
}

ul#menu-terms-of-use {
    order: 1;
    color: #fff;
}

.site-footer__bottom a,.site-footer__bottom p {
   color: var(--neutral-white-60);
}
    .site-footer__social-list a {
        color: #fff;
        display: block;
        margin-bottom: 10px;
    }
	
	.site-footer__list {
    flex-direction: column;
    gap: 12px;
}

.site-footer__social-list a {
    color: #fff;
}

    /* hide logo on mobile */


body .site-footer__brand {
        flex-direction: row;
    }
    .site-footer__col,
    .site-footer__social-col {
        border-bottom: 1px solid #ddd;
    }

    .site-footer__head {
        margin: 0;
        padding: 18px 0;
        cursor: pointer;
        position: relative;
    }

nav.site-footer__col.active .site-footer__list {
    max-height: 400px !important;
}



nav.site-footer__col.active .site-footer__list {
    display: flex !important;
}
    /* hide all lists initially */
    .site-footer__social-list {
        display: none;
        padding-bottom: 15px;
    }

    /* open state */    .site-footer__social-col.active .site-footer__social-list {
        display: block;
    }

    /* ICON */
    .site-footer__head::after {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        width: 35px;
        height: 35px;
        transform: translateY(-50%);
        background-image: url("/wp-content/uploads/2026/06/Mob-arrow-only.svg");
        background-size: contain;
    }

    .site-footer__col.active .site-footer__head::after,
    .site-footer__social-col.active .site-footer__head::after {
		        background: url("/wp-content/uploads/2026/06/Frame-1.svg") no-repeat center;

    }
}

/* ==========================================
   IMPACT SECTION
========================================== */

.impact-section {
    background: var(--neutral-light-grey);
    padding: var(--responsive-spacing-80) var(--space-40);
}

/* ==========================================
   TOP CONTENT
========================================== */

.impact-top {
    max-width: var(--measure-section, 1400px);
    margin: 0 auto var(--space-40);

    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: var(--space-48);
    align-items: center;
}

.impact-heading h2 {
    color: var(--neutral-black);
    font-family: var(--typeface-primary);
    font-weight: var(--weight-plain-regular);
    font-size: var(--font-h2);
    line-height: var(--lh-h2);
    letter-spacing: -0.01em;
}

.impact-heading span {
    color: var(--brand-dark-teal);
}

.impact-copy p {
    color: var(--neutral-deep-black);
    font-family: var(--typeface-secondary);
    font-weight: var(--weight-regular);
    font-size: var(--font-body_m);
    line-height: var(--lh-body_m);
    max-width: var(--measure-narrow, 460px);
}

/* ==========================================
   GRID
========================================== */

.impact-grid {
    max-width: var(--measure-section, 1400px);
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-14, 14px);
}

/* ==========================================
   CARD
========================================== */

.impact-card {
    background: var(--neutral-white);

    min-height: var(--impact-card-h, 92px);
    padding: var(--space-20, 20px) var(--space-22, 22px);

    display: flex;
    align-items: center;

    gap: var(--space-14, 14px);

    transition: all 0.3s ease;
}

.impact-card:hover {
    transform: translateY(calc(var(--space-2, 2px) * -1));
}

/* ==========================================
   ICON
========================================== */

.impact-icon {
    position: relative;
    width: var(--space-28, 28px);
    height: var(--space-28, 28px);
    flex-shrink: 0;
}

.impact-icon img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: contain;
    transition: opacity 0.25s ease;
}

.icon-hover {
    opacity: 0;
}

.impact-card:hover .icon-default {
    opacity: 0;
}

.impact-card:hover .icon-hover {
    opacity: 1;
}

/* ==========================================
   CONTENT
========================================== */

.impact-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.impact-card__content h3 {
    margin-bottom: var(--space-4, 4px);

    color: var(--neutral-black);

    font-family: var(--typeface-secondary);
    font-size: var(--font-body_s, 15px);
    font-weight: var(--weight-semibold, 600);
    line-height: 1.25;
}

.impact-card__content p {
    margin: 0;

    color: var(--neutral-charcoal);

    font-family: var(--typeface-secondary);
    font-size: var(--font-body_xxs, 12px);
    font-weight: var(--weight-regular);
    line-height: 1.4;
}

/* ==========================================
   TABLET
========================================== */

@media (max-width: 1024px) {

    .impact-section {
        padding: var(--responsive-spacing-60) var(--space-32);
    }

    .impact-top {
        grid-template-columns: 1fr;
        gap: var(--space-24);
        margin-bottom: var(--space-32);
    }

    .impact-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-12, 12px);
    }

    .impact-card {
        min-height: var(--impact-card-h-tablet, 88px);
    }
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 768px) {


    .impact-section {
        padding: var(--responsive-spacing-48) var(--space-20);
    }

    .impact-top {
        gap: var(--space-16, 16px);
        margin-bottom: var(--space-24, 24px);
    }

    .impact-grid {
        grid-template-columns: 1fr;
        gap: var(--space-10, 10px);
    }

    .impact-heading h2 {
        font-size: var(--font-h3);
        line-height: var(--lh-h3);
    }

    .impact-copy p {
        font-size: var(--font-body_s);
        max-width: 100%;
    }

    .impact-card {
        min-height: var(--impact-card-h-mobile, 82px);
        padding: var(--space-16, 16px) var(--space-18, 18px);
        gap: var(--space-12, 12px);
    }

    .impact-icon {
        width: var(--space-24, 24px);
        height: var(--space-24, 24px);
    }

    .impact-card__content h3 {
        font-size: var(--font-body_xs, 14px);
        margin-bottom: var(--space-3, 3px);
    }

    .impact-card__content p {
        font-size: var(--font-body_xxs, 11px);
        line-height: 1.35;
    }
	img.logo-img {
    width: 100%;
    max-width: 45px;
}

.site-footer__social {
    margin-bottom: 20px;
}
}

/* ==========================================
   SMALL MOBILE
========================================== */

@media (max-width: 480px) {

    .impact-section {
        padding: var(--responsive-spacing-40) var(--space-16);
    }

    .impact-heading h2 {
        font-size: var(--font-h4);
        line-height: var(--lh-h4);
    }

    .impact-copy p {
        font-size: var(--font-body_xs);
    }

    .impact-card {
        min-height: var(--impact-card-h-small, 78px);
        padding: var(--space-14, 14px) var(--space-16, 16px);
    }

    .impact-card__content h3 {
        font-size: var(--font-body_xxs, 13px);
    }

    .impact-card__content p {
        font-size: var(--font-caption, 10px);
    }
}






}


/* ── post-button ── mirrors .cta-primary.cta-primary--light ── */

.post-button {
  display: inline-flex;
  align-items: stretch;
  width: fit-content;
  height: 50px;
  background: var(--neutral-black);
  text-decoration: none;
  transition: background 200ms ease, color 200ms ease;
}

.post-button__text {
  display: flex;
  align-items: center;
  padding: 0 var(--space-8) 0 var(--space-16);
  font-family: var(--typeface-secondary);
  font-weight: var(--weight-medium);
  font-size: var(--font-cta);
  line-height: var(--lh-cta);
  color: var(--neutral-white);
  transition: color 200ms ease;
}

.post-button__arrow {
  position: relative;
    display: flex;
    padding: 16px;
    color: var(--neutral-white);
    font-size: 0;
    transition: background 200ms ease, color 200ms ease;
}

.post-button__arrow::before {
  content: '';
  position: relative;
  display: inline-block;
  width: 7px;
  height: 7px;
  flex-shrink: 0;
  background: currentColor;
  box-shadow:
    7px 7.5px 0 currentColor,
    0px 15px  0 currentColor;
}

.post-button:hover { background: var(--neutral-deep-black); }
.post-button:hover .post-button__arrow {
  background: var(--brand-neural-mint);
  color: var(--neutral-black);
}


/* ── post-video ─────────────────────────────────────────────── */

.post-video {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  background: #111;
  outline: 2px dashed rgba(255, 255, 255, 0.2);
}


.post-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.page-id-1590 h2.awards__title {
    font-size: var(--font-body_m);
    line-height: var(--lh-body_m);
}

/* banner css */

/* ── Banner root ──────────────────────────────────────────── */
.bn {
  position: relative;
  width: 100%;
  height: 70vh;                          /* desktop: 70vh (Figma: 890px at 1440px) */
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #000;
}

/* ── Background image + gradient ─────────────────────────── */
.bn__bg {
  position: absolute;
  inset: -30% 0;              /* extends beyond banner for parallax headroom */
  pointer-events: none;
  z-index: 0;
}
.bn__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  will-change: transform;
}
.bn__bg-img--mobile { display: none; }
.bn__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}

/* ── Floating white pixel sparkles ───────────────────────── */
.bn__sparkles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
	display:none;
}
.bn__sparkle {
  position: absolute;
  display: block;
  width: 20px;
  height: 20px;
  background: var(--neutral-white-60, rgba(255,255,255,0.6));
  mix-blend-mode: overlay;
}
.bn__sparkle--lg {
  width: 35.386px;
  height: 35.386px;
  mix-blend-mode: normal;
}

/* ── Nav ──────────────────────────────────────────────────── */
.bn__nav {
  position: relative;
  z-index: 2;
  padding: var(--space-24) var(--space-60);
}
.bn__nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  width: 100%;
}

.bn__logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  width: 156px;
  height: 35.934px;
}
.bn__logo img { width: 100%; height: auto; }

.bn__actions { display: flex; align-items: center; gap: 10px; }

.bn__btn-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px;
  padding: var(--space-16);
  background: var(--neutral-deep-black-60);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  flex-shrink: 0;
}
.bn__btn-icon img { width: 20px; height: 20px; }

.bn__cta {
  display: inline-flex; align-items: stretch;
  background: var(--neutral-deep-black-60);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow: hidden; flex-shrink: 0;
}
.bn__cta-text {
  display: flex; align-items: center;
  padding: var(--space-12) var(--space-8) var(--space-12) var(--space-16);
  font-family: var(--typeface-secondary); font-weight: var(--weight-medium);
  font-size: var(--font-cta); line-height: var(--lh-cta);
  color: #fff; white-space: nowrap;
}
.bn__cta-arrow {
  display: flex; align-items: center; justify-content: center;
  width: 46px; background: var(--neutral-black, #000);
  padding: var(--space-14) var(--space-16); flex-shrink: 0;
}
.bn__cta-arrow img { width: 14px; height: 22px; }

/* ── Content container (flex-1, breadcrumb top / copy bottom) */
.bn__content {
  position: relative;
  z-index: 2;
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-80) var(--margin-margin) var(--space-60);
  min-height: 0;
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.bn__crumbs {
  display: flex;
  align-items: center;
  gap: var(--responsive-spacing-12, 12px);
  flex-wrap: wrap;
}
.bn__crumb {
  font-family: var(--typeface-secondary); font-weight: var(--weight-regular);
  font-size: var(--font-body_xxs); line-height: var(--lh-body_xxs);
  color: #fff; white-space: nowrap;
}
.bn__crumb--current { color: var(--neutral-white); }
.bn__dot {
  display: inline-block; width: 6px; height: 6px;
  background: var(--brand-neural-mint, #00fac2); flex-shrink: 0;
}

/* ── Copy block (bottom of content) ──────────────────────── */
.bn__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-14);
}

/* Title row: h1 left + tagline right, with bottom border */
.bn__title-row {
  display: flex;
  align-items: flex-end;
  gap: var(--space-20);
  padding-bottom: 0;
  border-bottom: 1px solid var(--neutral-white-20, rgba(255,255,255,0.2));
}
.bn__title {
  flex: 1 0 0;
  margin: 0;
  font-family: var(--typeface-primary); font-weight: var(--weight-plain-regular);
  font-size: var(--font-h1);          /* clamp(42px, 5.56vw, 80px) */
  line-height: var(--lh-h1);          /* clamp(42px, 6.11vw, 88px) */
  color: #fff;
  min-width: 0;
}
.bn__tagline {
  margin: 0;
  width: 426px;
  flex-shrink: 0;
  font-family: var(--typeface-primary); font-weight: var(--weight-plain-regular);
  font-size: var(--font-h6);             /* clamp(18px, 1.67vw, 24px) */
  line-height: var(--lh-h6);            /* clamp(26px, 2.22vw, 32px) */
  letter-spacing: -0.24px;
  color: #fff;
}
.page-id-2073 .bn__pixels ,.page-id-2125 .bn__pixels ,.page-id-2127 .bn__pixels {
    background: #fff;
}
/* Sub row: subtitle left + arrow right */
.bn__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bn__sub {
  margin: 0;
  width: 821px;
  font-family: var(--typeface-secondary); font-weight: var(--weight-plain-regular);
  font-size: var(--font-body_l);             /* clamp(18px, 1.67vw, 24px) */
  line-height: var(--lh-body_l);
  letter-spacing: -0.24px;
  color: #fff;
}
.bn__arrow {
  display: flex; align-items: center; justify-content: center;
  width: 50px; height: 46px; flex-shrink: 0;
  color: var(--brand-neural-mint, #00fac2);
  transition: background 200ms ease, color 200ms ease;
}
.bn__arrow-icon { display: block; width: 14px; height: 22px; transform: rotate(90deg); }
.bn__arrow-icon svg { width: 100%; height: 100%; fill: currentColor; }

/* ── Pixel decoration row (soft-grey, outside banner) ────── */
.bn__pixels {
  position: relative;
  z-index: 2;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: #00000000;
}
.bn__pixel {
  display: block; width: 20px; height: 20px;
  background: var(--neutral-black, #000); flex-shrink: 0;
}

/* ── Sticky section tabs (below pixel row, outside .bn) ───── */
.bn-tabs {
  position: sticky;
  /* top is set at runtime by banner.js to match the fixed site header's
     height (.nav), so the tabs stick directly beneath it instead of
     underneath/behind it. 0 here is just the pre-JS fallback. */
  top: 0;
  z-index: 9;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid var(--neutral-light-grey, #ccc);
  overflow: hidden;
}
.bn-tabs__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 50px;                          /* exact Figma: 2nd fold h-50px */
  padding: 0 var(--margin-margin);
  overflow-x: auto;
  scrollbar-width: none;
}
.bn-tabs__nav::-webkit-scrollbar { display: none; }
.bn-tabs__item {
  display: flex; align-items: center; height: 100%;
  padding: 0 8px; flex-shrink: 0;
  font-family: var(--typeface-secondary); font-weight: var(--weight-regular);
  font-size: var(--font-body_xxs); line-height: var(--lh-body_xxs);
  color: #4b4b4b; white-space: nowrap;
  border-bottom: 3px solid transparent;
  text-decoration: none; box-sizing: border-box;
}
.bn-tabs__item--active { border-bottom-color: var(--brand-dark-teal, #008567); }
.all-links {
    display: flex;
    align-items: center;
    gap: var(--space-32);
}
/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 767px) {
	
		.single-news-book .itm-card .itm-card__continue {
    max-height: 60px !important;
    opacity: 1 !important;
    margin-top: 20px !important;
}
		img.logo-img.inmobile{
        display: block;
        width: 40px;	}
	.site-footer__social {
    order: 1;
}
    .all-links {
        display: flex;
        align-items: center;
        gap: var(--space-32);
        width: 100%;
        justify-content: end;
		order:1;
    }
	.menus {
    order: 2;
}
.site-footer__brand {
    order: 2;
}

.site-footer__social {
    width: 100%;
    justify-content: space-between;
}

nav.site-footer__col {
    border-top: none;
    padding-bottom: 20px;
}
    /* Quick Links */
    .site-footer__col .site-footer__list,
    
    /* Legal Links */
    .site-footer__legal {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 20px;
    }

    .site-footer__col .site-footer__list li,
    .site-footer__legal li {
        width: 100%;
        margin: 0;
    }

    .site-footer__col .site-footer__list li a,
    .site-footer__legal li a {
        display: block;
    }
  .bn {
    height: 65vh;
    min-height: 380px;
  }
img.logo-img {
    display: none;
}
  .bn__bg-img--desktop { display: none; }
  .bn__bg-img--mobile { display: block;   object-position: right; }

  .bn__nav { padding: 16px 20px; }
  .bn__btn-icon { width: 42px; height: 42px; }
  .bn__logo { width: 120px;  }

  .bn__content { padding: var(--space-80) var(--margin-margin) var(--responsive-spacing-60) }

  .bn__title-row {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-12);
  }
  .bn__tagline { width: 100%; }
  .bn__sub { width: 100%; }
}

.bn__title-row {
    border: none;
}
.dummy_section{
  height: 100vh;
}
table {
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid #dee2e6;
}

table > thead > tr > th,
table > thead > tr > td,
table > tbody > tr > th,
table > tbody > tr > td,
table > tfoot > tr > th,
table > tfoot > tr > td {
  border-color: #dee2e6;
  border-width: 1px 1px 1px 0;
  border-style: solid;
  padding-left:20px !important;
}

table > thead > tr > th,
table > tbody > tr > th,
table > tfoot > tr > th {
  color: #1b1f2e;
  font-weight: 600;
  word-wrap: normal;
    	background-color:#2ddcaa !important;
	padding-left:20px !important;
	   font-size: var(--font-body_s);
    line-height: var(--lh-body_s);
  
}
.aava-gap__list {
    list-style: none;
    padding-left: 0;
}

.aava-gap__list-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.aava-gap__list-item::before {
    content: "■";
    color: var(--brand-dark-teal);
    font-size: 10px;
    line-height: 1.6;
    flex-shrink: 0;
    margin-top: 4px;
}
table > thead > tr > td>th,
table > tbody > tr > td>th,
table > tfoot > tr >td> th {
    	padding-left:20px !important;
}
thead, tbody, tfoot, tr, td, th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    padding-left: 20px !important;
}

table > thead > tr > th.views,
table > tbody > tr > th.views,
table > tfoot > tr > th.views {
  min-width: 120px;
   padding-left: 20px !important;
}

table > thead > tr > th,
table > thead > tr > td {
  border-bottom-width: 2px;
  color: #1b1f2e;
  white-space: nowrap;
  	background-color:#2ddcaa !important;
	padding-left:20px !important;
}

.page-id-411 .bn {
  position: relative;
  width: 100%;
  height: 70vh;                       
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #000;
}
.sp-work__lead {
    font-family: var(--typeface-secondary);
    font-weight: var(--weight-regular);
    font-size: var(--font-body_s);
    line-height: var(--lh-body_s);
    color: var(--neutral-charcoal);
}h2.pe-work__title.pe-work__title--full {
    max-width: 100%;
}
.page-id-1927 .fwt__inner,.page-id-2073 .fwt__inner,.page-id-2105 .fwt__inner,.page-id-2127 .fwt__inner,.page-id-2125 .fwt__inner{
/*     width: 1000px; */
    margin: 0 auto;
    position: relative;
}
.page-id-2073 ul,.page-id-2105 ul,.page-id-2125 ul,.page-id-2127 ul{
	padding-left:30px;
}
.page-id-2073 li,.page-id-2105 li,.page-id-2125 li,.page-id-2127 li {
    list-style-type: square;
    margin-bottom: 5px;
}
.page-id-2073 ul li::marker,,.page-id-2125 ul li::marker,.page-id-2127 ul li::marker {
    color: var(--brand-dark-teal);
}
.aava-gap__list-item {
    display: list-item;
    list-style: square;
}

.aava-gap__list-item::marker {
    color: var(--brand-dark-teal);
}
/* ul.aava-gap__list { padding-left: 30px; } */
.page-id-1927  section.fwt,.page-id-2073 section,.page-id-2127 section,.page-id-2125 section{
        background: var(--neutral-white);

}
.page-id-1927 .fwt__text,.page-id-2073 .fwt__text,.page-id-2105 .fwt__text,.page-id-2127 .fwt__text,.page-id-2125 .fwt__text {
    font-size: var(--font-body_s);
    line-height: var(--lh-body_s);
}
@media (max-width: 767px) {
    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        width: 100%;
    }
}
.page-id-1927 section.fwt{
	position:relative;
}
.page-id-1927 .bn__pixels{
	background:#fff;
}
.page-id-1927  section.fwt:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--space-20);
    pointer-events: none;
    z-index: 5;
    background-image: linear-gradient(var(--neutral-black), var(--neutral-black)), linear-gradient(var(--neutral-black), var(--neutral-black));
    background-position: bottom left , bottom right;
    background-size: var(--space-20) var(--space-20);
    background-repeat: no-repeat;
}

.page-id-1927  .site-footer::before{
    display:none;
}
.page-id-842 .bn {
  position: relative;
  width: 100%;
  height: 70vh;                       
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #000;
}

.media__dot {
    width: 6px !important;
    height: 6px !important;
}

.media__dot--active {
    width: 8px !important;
    height: 8px !important;
}

nav.bn-tabs {
    display: none;
}

section.platform {
    border: none;
}

p.site-footer__copy {
    display: flex;
    align-items: end;
}

p.site-footer__copy img.logo-img {
    height: 40px;
    width: 42px;
   margin-right: var(--responsive-spacing-24);
}

.page-id-2105 h2,
.page-id-2073 h2,
.page-id-2127 h2 {
    font-family: var(--typeface-primary);
    font-weight: var(--weight-plain-regular);
    font-size: var(--font-h3);
    line-height: var(--lh-h3);
    margin: var(--responsive-spacing-20) 0;
}
.flex-row {
    display: flex;
    align-items: center;
    gap: var(--space-32);
}

.page-id-1553 .bn__title-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-20);
    padding-bottom: 0;
}

.page-id-1553 .bn__tagline {
    margin: 0;
    flex-shrink: 0;
    font-family: var(--typeface-secondary);
    font-weight: var(--weight-plain-regular);
    font-size: var(--font-body_l);
    line-height: var(--lh-body_l);
    color: #fff;
}
.page-id-411 .bn__overlay,
.page-id-1553 .bn__overlay,
.page-id-842 .bn__overlay {
  position: absolute;
  inset: 0;
  background: none;
}

.page-id-3730 .bn__overlay {
  position: absolute;
  inset: 0;
  background: none;
}
label.hs-error-msg.hs-main-font-element {
    color: #f2545b;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border: none;
  border-bottom: 1px solid #000;
  border-radius: 0;
}
body li.hs-form-booleancheckbox input.hs-input {
    border-radius: 0 !important;
    margin-bottom: 10px !important;
    margin-right: 20px;
}
.page-id-1902 .bn__title{
    text-align: center;
    color: #fff;
}