/*
Theme Name: Indurex
Version: 1.0.0
Author: Bonfire Themes
Author URI: http://bonfirethemes.com/
Description: WordPress theme developed for Indurex
License: GNU GENERAL PUBLIC LICENSE, Version 2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: indurex
*/


/* GENERAL STYLING
**************************************************/
*, *::before, *::after {
    box-sizing:border-box;
}
html, body {
    margin: 0;
    padding: 0;

    font-family: "Sora", "Sora Fallback", sans-serif;
    font-optical-sizing: auto;
    font-weight:400;
    font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
    margin:0;
}
h1, h2, h3 {
    font-weight:400;
}
h4 {
    font-weight:500;
}
h5 {
    font-weight:600;
}

/* links on pages/posts */
.entry-content article a {
    font-weight: 600;
    text-decoration:underline;

    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}
.entry-content article a:hover {
    text-decoration:none;
}

/* edit button */
.post-edit-link {
    display:block;
    width:max-content;
    padding:15px 20px;
    margin-top:35px;
    border-radius:8px;
    text-decoration:none;
    background-color:#eee;
    transform:.2s ease;
}
.post-edit-link:hover {
    text-decoration:underline;
    background-color:#ddd;
}

/* hide something, like labels on /resources */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* BUTTONS
****************************************/
/* button w/ WHITE BACKGROUND */
.button-white {
    position: relative;
    z-index: 0;
    overflow: hidden;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius:100px;
    padding:0 36px 0 20px;
    height:48px;
    text-decoration: none;

    background-color: #fff;

    transition: all 0.3s cubic-bezier(0.68, 1, 0.27, 1.25);
}
@media (max-width: 1200px) {
    .button-white {
        padding-left: 20px;
        padding-right: 36px;
        height:48px;
    }
}
.button-white:hover {
    padding-right: 28px;
    background-color:#F2ECFF;
}
.button-white:hover::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: 100px;
    padding: 1px;
    background: linear-gradient(
      141.82deg,
      #C017FF 2.36%,
      rgba(192, 23, 255, 0.64) 102.97%,
      rgba(221, 207, 255, 0.23) 218.81%
    );
    -webkit-mask: 
      linear-gradient(#fff 0 0) content-box, 
      linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}
.button-white span {
    display: inline-block;
    font-size: 15px;
    font-weight:400;
    letter-spacing:-0.5px;
    text-decoration:none;

    /* text gradient */
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;

    transition: all 0.3s cubic-bezier(0.68, 1, 0.27, 1.25);
}
.button-white:hover span {
    transform:scaleX(.95);
    
    transform-origin:left;
    background: none;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: #503399;
    color: #503399; 
}
.button-white::after {
    position:absolute;
    right:18px;
    content: '';
    width: 8px;
    height: 12px;
    display: block;
    background-image: url('images/button-arrow-blue.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition:.2s ease all;
}
@media (max-width: 1200px) {
    .button-white {
        padding-left: 18px;
        padding-right: 30px;
        height:44px;
    }
    .button-white:hover {
        padding-right: 23px;
    }
    .button-white span {
        font-size: 14px;
    }
    .button-white::after {
        right:15px;
        width: 6px;
    }
}

/* button w/ BLUE BACKGROUND */
.button-blue {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius:100px;
    padding:0 18px 0 20px;
    height:48px;
    text-decoration: none;

    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);

    transition:.2s ease all;
}
.button-blue span {
    display: inline-block;
    font-size: 15px;
    letter-spacing:-0.5px;
    font-weight:400;
    color:#fff;

    transition:.2s ease all;
}
.button-blue:hover span {
    font-weight:500;
}
.button-blue::after {
    content: '';
    width: 8px;
    height: 12px;
    display: block;
    margin-left: 10px;
    background-image: url('images/button-arrow-white.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.button-blue:hover {
    background: linear-gradient(88.06deg, #503399 1.63%, #8655FF 93.67%);
}
@media (max-width: 1200px) {
    .button-blue {
        padding-left: 18px;
        padding-right: 14px;
        height: 44px;
    }
    .button-blue span {
        font-size: 14px;
    }
    .button-blue::after {
        width: 7px;
        margin-left: 11px;
    }
}


/* /resources CTA button w/ BLUE BACKGROUND */
.button-resources {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius:100px;
    padding:0 18px 0 20px;
    height:48px;
    text-decoration: none !important;

    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: #fff !important;
    text-fill-color: #fff !important;
    color: #fff !important;
  
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);

    transition:.2s ease all;
}
.button-resources span {
    display: inline-block;
    font-size: 15px;
    letter-spacing:-0.5px;
    font-weight:400;
    color:#fff;

    transition:.2s ease all;
}
.button-resources:hover span {
    font-weight:500;
}
.button-resources::after {
    content: '';
    width: 8px;
    height: 12px;
    display: block;
    margin-left: 10px;
    background-image: url('images/button-arrow-white.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.button-resources:hover {
    background: linear-gradient(88.06deg, #503399 1.63%, #8655FF 93.67%);
}
@media (max-width: 1200px) {
    .button-resources {
        padding-left: 18px;
        padding-right: 14px;
        height: 44px;
    }
    .button-resources span {
        font-size: 14px;
    }
    .button-resources::after {
        width: 7px;
        margin-left: 11px;
    }
}


/****************************************
WORD-BY-WORD REVEAL ANIMATION
****************************************/
.word-reveal,
.word-reveal-scroll {
    position: relative;
}
.word-reveal .word,
.word-reveal-scroll .word {
    display: inline-block;
    opacity: 0;
    transform: translateY(50%);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.word-reveal .word.visible,
.word-reveal-scroll .word.visible {
    opacity: 1;
    transform: translateY(0);
}



/****************************************
FADE REVEAL ANIMATION
****************************************/
.fade-reveal {
    transition:opacity 1s ease;
    opacity: 0;
}
.fade-reveal.active {
    opacity: 1;
}



/****************************************
HEADER
****************************************/
.header {
    position:fixed;
    z-index:999;
    top:0;
    left:0;
    display:block;
    width:100%;
    height:max-content;
    transition:background-color .5s ease 0.2s, height 0.3s ease-out .015s, transform 0.4s ease .035s;
}
.header-message {
    position: relative;
    border-bottom: 1px solid rgba(239, 239, 239, 0.14);
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:0 25px;

    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%);
    transition: all .5s ease;
    will-change: opacity, transform;
    height:0;

    backdrop-filter: blur(80px);
    background: #1E1B2766;
}
/* hide on /contact-us */
.page-contact-us .header-message,
.page-request-demo .header-message {
    display:none;
}

.header-message::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit; /* optional, matches parent shape */
    background: linear-gradient(
        126.84deg,
        rgba(120, 91, 191, 0.8) 2.86%,
        rgba(120, 91, 191, 0) 172.58%
    );
    opacity: 0; /* hidden initially */
    transition: opacity .45s ease !important;
    pointer-events: none;
}
.header-message:hover::before {
    opacity: 1; /* fade in gradient smoothly */
}
.header-message:hover {
    backdrop-filter: blur(20px);
    box-shadow: 14.65px 17.58px 29.29px 0px #0000000D;
}
.header-message.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    height:40px;
}
.header-message,
.header-message a {
    font-weight: 500;
    font-size: 13px;
    line-height: 100%;
    letter-spacing: -0.15px;
    color:#fff;
}
.header-message a {
    position:relative;
    margin-left:5px;
}
.scrolled .header-message {
    background:#fff;
}
.scrolled .header-message::before {
    display:none;
}
.scrolled .header-message:hover {
    box-shadow: none;
}
.header.scrolled .header-message,
.header.scrolled .header-message a {
    color:#37379B;
}
.header.scrolled .header-message a::after {
    background-image: url('images/button-arrow-blue.svg');
}
.header-message a::after {
    content: '';
    position:absolute;
    top:1px;
    right:-14px;
    width: 8px;
    height: 12px;
    display: inline-block;
    margin-left: 10px;
    background-image: url('images/button-arrow-white.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.2s ease;
}
.header.scrolled .header-message a::after {
    background-image: url('images/button-arrow-blue.svg');
}
.header-message a:hover::after {
    transform: translateX(3px);
}
/* when hidden, don't show mommentary during refresh */
.hide-header-message .header-message {
    height: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}
.hide-header-message .header {
    height: 76px !important;
}

.header.scrolled .header-message {
    border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}
/* header message close button */
.header-message-close {
    position:absolute;
    top:0;
    right:0;
    width:40px;
    height:40px;
    cursor:pointer;
}
.header-message-close::before,
.header-message-close::after {
    content:'';
    position:absolute;
    top:12px;
    left:19px;
    width:1.25px;
    height:15px;
    transition:.2s ease;
    background-color:#fff;
}
.header-message-close:hover::before,
.header-message-close:hover::after {
    background-color:#ccc;
}
.header.scrolled .header-message-close::before,
.header.scrolled .header-message-close::after {
    background-color:#888;
}
.header.scrolled .header-message-close:hover::before,
.header.scrolled .header-message-close:hover::after {
    background-color:#555;
}
.header-message-close::before {
    transform:rotate(45deg);
}
.header-message-close::after {
    transform:rotate(-45deg);
}

/* header logo, menu, CTA button */
.header-nav {
    position: relative;
    height: 76px;
    display: flex;
    align-items: center;
    padding:0 50px;
}
@media (max-width: 1200px) {
    .header-nav {
        padding-left:25px;
        padding-right:25px;
    }
}
.header.scrolled .header-nav {
    border-bottom:1px solid rgba(0,0,0,0.13);
}
.header-nav-inner {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header-logo {
    position: relative;
    width: 150px;
    height: 29px;
    display: inline-block;
}
.header-logo img {
    position: absolute;
    top: 0;
    left: 0;
    height: 29px;
    display: block;
    opacity: 1;
    object-fit: contain;
    transition: opacity 0.25s ease-in-out;
    will-change: opacity;
    backface-visibility: hidden;
    transform: translateZ(0);

    width: clamp(150px, calc(150px + (min(100vw, 1400px) - 800px) * 0.06), 186px);
}
/* fade between logos */
.header.scrolled .header-logo img:first-child {
    opacity: 0;
    z-index: 1;
}
.header.scrolled .header-logo img:last-child {
    opacity: 1;
    z-index: 2;
}
.header-logo .logo-light { opacity: 1; z-index: 2; }
.header-logo .logo-dark  { opacity: 0; z-index: 1; }
.header.scrolled .logo-light { opacity: 0; z-index: 1; }
.header.scrolled .logo-dark  { opacity: 1; z-index: 2; }

/* header menu */
.header-menu ul.menu {
    list-style-type: none;
    padding:0;
    margin:0;
}
.header-menu ul.menu li {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;

    margin-left: clamp(3px, calc(3px + (min(100vw, 1400px) - 800px) * 0.0167), 13px);
    margin-right: clamp(3px, calc(3px + (min(100vw, 1400px) - 800px) * 0.0167), 13px);
}
.header-menu ul.menu li a {
    position:relative;
    font-size: 14px;
    font-weight: 400;
    letter-spacing:-0.25px;
    color: #D8D6EA;
    text-decoration: none;
    padding:3px 2px;
    transition:.2s ease;
}
.header-menu ul.menu li a:hover,
.header-menu ul.menu li.current_page_item a {
    color:#fff;
    font-weight:500;
}
.header-menu ul.menu li a::before {
    content:'';
    position:absolute;
    left:3px;
    bottom:0;
    width:calc(100% - 6px);
    height:0.5px;
    opacity:0;
    transform:scaleX(.5);
    background-color:#fff;
    transition:.2s ease;
}
.header-menu ul.menu li a:hover::before,
.header-menu ul.menu li.current_page_item a::before {
    opacity:1;
    transform:scaleX(1);
}

/* header scrolled animations */
.header .header-message,
.header .header-message a,
.header .header-message::before,
.header .header-menu ul.menu li a {
    transition:all .1s ease-out 0.015s;
}
.header.scrolled {
    background-color:#fff;
}
.header.scrolled .header-message::before {
    background-color:#ccc;
}
.header.scrolled .header-menu ul.menu li a {
    color:#37379B;
}

/* button: HEADER CTA */
.header .button-header-cta {
    position: relative;
    z-index: 0;
    overflow: hidden;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius:100px;
    padding:0 10px 0 12px;
    height:36px;
    text-decoration: none;

    background-color: #fff;

    transition:.2s ease;
}
@media (max-width: 1100px) {
    .header-cta {
        transform-origin: right;
        transform: scale(.9);
    }
}
.header .button-header-cta:hover {
    background-color:#F2ECFF;
}
.header:not(.scrolled) .button-header-cta:hover::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: 100px;
    padding: 1px;
    background: linear-gradient(
      141.82deg,
      #C017FF 2.36%,
      rgba(192, 23, 255, 0.64) 102.97%,
      rgba(221, 207, 255, 0.23) 218.81%
    );
    -webkit-mask: 
      linear-gradient(#fff 0 0) content-box, 
      linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}
.header .button-header-cta span {
    display: inline-block;
    font-weight: 400;
    letter-spacing: -0.5px;

    /* text gradient */
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;

    transition: .2s ease;

    font-size: 14px;
}
.header .button-header-cta:hover span {
    font-weight:500;
    
    background: none;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: #503399;
    color: #503399; 
}
.header .button-header-cta::after {
    content: '';
    width: 8px;
    height: 12px;
    display: block;
    margin-left: 10px;
    
    background-image: url('images/button-arrow-blue.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.header.scrolled .button-header-cta::after {
    background-image: url('images/button-arrow-white.svg');
}
.header.scrolled .button-header-cta span {
    background: none;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: #fff;
    color: #fff; 
}
.header.scrolled .button-header-cta {
    background: #fff; /* keep solid so layout stays identical */
}
.header.scrolled .button-header-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 100px;
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    opacity: 1;
    transition: opacity 1s ease;
}
.header .button-header-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 100px;
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    opacity: 0;
    transition: opacity 1s ease;
}

/* animation speeds for always-white menu */
.header-lock-scrolled .scrolled {
    transition:background-color 0s ease 0.2s, height 0.3s ease-out .015s, transform 0.4s ease .035s;
}
.header-lock-scrolled .header .button-header-cta::before {
  transition: all 0s ease 0s;
}




/****************************************
MOBILE MENU
****************************************/
.mobile-menu {
    position: fixed;
    z-index: 999;
    top: 0;
    left: -1000%;
    opacity: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: #1E1B27B2;
    backdrop-filter: blur(81.19999694824219px);

    transition: left 0s ease-out .3s, opacity .3s ease-out;
}
.mobile-menu.active {
    left: 0;
    opacity: 1;

    transition: left 0s ease-out 0s, opacity .3s ease-out;
}
.mobile-menu-inner {
    width: 100%;
}

/* mobile menu button */
.mobile-menu-button {
    position: absolute;
    z-index: 999;
    display: block;
    top: 25px;
    right: 22px;
    width: 30px;
    height: 24px;
    cursor: pointer;
}
.mobile-menu-button::before,
.mobile-menu-button::after {
    content: '';
    position: absolute;
    top: 8px;
    left: 3px;
    width: 24px;
    height: 2px;
    background-color: #fff;

    transition: .35s ease;
}
.mobile-menu-button::after {
    top: 13px;
}
.scrolled .mobile-menu-button::before,
.scrolled .mobile-menu-button::after {
    background-color: #0D0E20;
}

/* close mobile menu */
.close-mobile-menu {
    position: absolute;
    z-index: 999;
    display: block;
    top: 25px;
    right: 25px;
    width: 24px;
    height: 24px;
    cursor: pointer;
}
.close-mobile-menu::before,
.close-mobile-menu::after {
    content: '';
    position: absolute;
    top: 11px;
    left: 1px;
    width: 22px;
    height: 2px;
    transform: rotate(45deg);
    background-color: #fff;
}
.close-mobile-menu::after {
    transform: rotate(-45deg);
}

/* mobile menu logo */
.mobile-menu .header-logo {
    display: block;
    margin: 21px 0 25px 25px;
}

/* mobile menu menu */
.mobile-menu ul.menu,
.mobile-menu ul.menu li {
    width: 100%;
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.mobile-menu ul.menu li {
    border-top: 1px solid #EFEFEF24;
}
.mobile-menu ul.menu li:last-of-type {
    border-bottom: 1px solid #EFEFEF24;
}
.mobile-menu ul.menu li a {
    font-size: 16px;
    letter-spacing: -.25px;
    color: #D8D6EA;
    text-decoration: none;
    display: block;
    padding: 20px 0 20px 25px;
}

/* CTA button inside mobile menu */
.mobile-menu .button-white {
    margin-top: 25px;
    margin-left: 20px;
}



/****************************************
SECTION JOINT STYLES
****************************************/
.section {
    width: 100%;
    padding: 0 50px;
}
@media (max-width: 1200px) {
    .section {
        padding-left: 25px;
        padding-right: 25px;
    }
}

.section-inner {
    max-width: 1600px;
    margin:0 auto;
}



/****************************************
SECTION MAIN
****************************************/
.section-main {
    height: 100vh;
    height: 100dvh;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    color:#fff;
    
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    
    background-color: #0E022D;
}
.section-main-bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    opacity: 0;
    transition: opacity 1.5s ease 0.15s;
}
.section-main-bg.loaded {
    opacity:1;
}
.bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    will-change: transform;
}

.section-main-inner {
    width: 100%;
    padding-top:55px;
    padding-bottom:55px;
}

.section-main-inner .pre-heading {
    display: block;
    margin-bottom: 16px;
    font-weight: 400;
    letter-spacing: 1px;
    color: #C1A8FF;
    text-transform: uppercase;

    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.0143), 14px);
}
.section-main h1 {
    margin-right:75px;
    font-weight: 300;
    letter-spacing: -4.75px;
    
    max-width: clamp(750px, calc(750px + (min(100vw, 1400px) - 800px) * 0.6833), 1160px);
    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.072), 93px);
    line-height: clamp(60px, calc(60px + (min(100vw, 1400px) - 800px) * 0.083333), 110px);
}
.section-main p {
    max-width: 625px;
    font-weight: 300;
    margin-bottom: 40px;
    color: #D8D6EA;

    font-size: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.0083), 21px);
    line-height: clamp(23px, calc(23px + (min(100vw, 1400px) - 800px) * 0.0117), 30px);
}
.section-main a {
    font-size:15px;
    font-weight:500;
    letter-spacing:-0.5px;
    color:#fff;
}



/****************************************
SECTION 02
****************************************/
.section-02 {
    position: relative;
    z-index: 2;
    margin-top:100vh;
    background: #f5f5f5;
    display:flex;
    flex-direction: column;
    justify-content:center;
    text-align: center;

    /* bottom line glitch on FF */
    margin-bottom:-1px;
    
    background: radial-gradient(64.53% 64.53% at 50% 50%, #FFFFFF 0%, #E0DFE3 100%);
}
.section-02::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('images/bg-section-02.png') no-repeat right / cover;
    pointer-events: none;
    opacity: 0.56;
}
.section-02-inner {
    display: flex;
    align-items: center;
    
    gap: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.05), 50px);
    padding-top: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.25), 250px);
    padding-bottom: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.25), 250px);
}

.section-02-image-container {
    position: relative;
    flex-shrink: 0;

    width: clamp(250px, calc(250px + (min(100vw, 1400px) - 800px) * 0.3125), 425px);
    height: clamp(250px, calc(250px + (min(100vw, 1400px) - 800px) * 0.3125), 425px);
}
.section-02-image-container .img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.section-02-image-container .img-02 {
    clip-path: inset(0 0 100% 0);
}
.section-02-inner h2 {
    max-width: 840px;
    font-weight: 300;
    text-align: left;
    letter-spacing: -1.75px;
    padding-right:25px;

    font-size: clamp(27px, calc(27px + (min(100vw, 1400px) - 800px) * 0.04333), 56px);
    line-height: clamp(36px, calc(36px + (min(100vw, 1400px) - 800px) * 0.05167), 67px);
}
.section-02 .word-reveal-scroll .word {
    background: linear-gradient(90deg, var(--grad-start, #503399) var(--grad-pos-start, -6.94%), var(--grad-end, #8655FF) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}





/****************************************
SECTION 03
****************************************/
.section-03 {
    position: relative;
    z-index: 2;
    background: #f5f5f5;
    color: #111;
    flex-direction: column;
    text-align: center;
}
.section-03-inner {
    padding-top: clamp(90px, calc(90px + (min(100vw, 1400px) - 800px) * 0.15), 180px);
    padding-bottom: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.0833), 100px);
}

.section-03-header {
    display: flex;
    justify-content: space-between;
    align-items:left;
    margin-bottom: 20px;
}
.section-03-header > p {
    white-space: nowrap;
    font-weight: 400;
    color: #8655FF;
    text-align: left;
    margin-top: 15px;

    width: clamp(160px, calc(160px + (min(100vw, 1400px) - 800px) * 0.1333), 240px);
    font-size: clamp(11px, calc(11px + (min(100vw, 1400px) - 800px) * 0.005), 14px);
}
.section-03-header h3 {
    width: fit-content;
    font-weight: 300;
    text-align: left;
    margin-left: auto;

    font-size: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * 0.0867), 107px);
    line-height: clamp(70px, calc(70px + (min(100vw, 1400px) - 800px) * 0.0667), 110px);

    letter-spacing: clamp(-6.5px, calc(-3.33px + (min(100vw, 1400px) - 800px) * -0.0053), -3.33px);
}

.section-03-accordion {
    width: 100%;
    margin-top: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.1333), 160px);
}
.section-03-accordion .accordion-item {
    border-bottom: 1px solid #D8D6EA;
}
.section-03-accordion .accordion-item:last-of-type {
    border-bottom:0;
}
.section-03-accordion .accordion-item h4 {
    margin: 0;
    cursor: pointer;
    user-select: none;
    text-align: left;
    position: relative;
    transition: all .2s ease;
    opacity: .5;
    font-weight: 400;

    font-size: clamp(28px, calc(28px + (min(100vw, 1400px) - 800px) * 0.04), 52px);
    letter-spacing: clamp(-2.5px, calc(-2.5px + (min(100vw, 1400px) - 800px) * 0), -2.5px);

    padding-top: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.035), 45px);
    padding-bottom: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.035), 45px);
    padding-right: 32px;
}
.section-03-accordion .accordion-item h4:hover,
.section-03-accordion .accordion-item.open h4 {
    opacity:1;
}
.section-03-accordion .accordion-item.open {
    border-color: #8655FF;
}
.section-03-accordion .word-reveal .word {
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

/* accordion arrow */
.section-03-accordion .accordion-item h4::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    background: url('images/arrow-faq.svg') no-repeat center / contain;
    transform: translateY(-50%) rotate(180deg);
    transition: transform 0.25s ease;
}
.section-03-accordion .accordion-item.open h4::after {
    transform: translateY(-50%) rotate(0deg);
}
.accordion-content-wrapper {
    display: flex;
    align-items: flex-start;
    width: 100%;
    flex-wrap: wrap;
}
.accordion-image {
    flex: 0 0 auto;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom:55px;

    width: clamp(250px, calc(250px + (min(100vw, 1400px) - 800px) * 0.225), 315px);
}
.accordion-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}
.accordion-content {
    flex: 1 1 0;
    min-width: 0;
    text-align: left;
    padding: 10px 0 60px 0;

    margin-left: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.1417), 165px);
    margin-right: clamp(40px, calc(40px + (min(100vw, 1400px) - 800px) * 0.0667), 80px);
}
.accordion-content span {
    position:relative;
    font-weight: 400;
    letter-spacing: -0.75px;
    color:#2A3248;
    line-height: 100%;
    
    font-size: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.0167), 24px);
}
.accordion-content span::before {
    content:'';
    position:absolute;
    top:7px;
    left:-30px;
    display:block;
    width: 16px;
    height: 16px;
    background-image: url('images/list-icon.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.accordion-content p {
    font-weight: 400;
    letter-spacing: 0;
    color:#37379B;
    margin-bottom:40px;

    font-size: clamp(15px, calc(15px + (min(100vw, 1400px) - 800px) * 0.01), 17px);
    line-height: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.015), 26px);
}
.accordion-content p:last-of-type {
    margin-bottom:0;
}



/****************************************
SECTION 04
****************************************/
.section-04 {
    position: relative;
    z-index: 2;
    color: #111;
    text-align: center;
}
.section-04-inner {
    padding-top: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.1917), 215px);
    padding-bottom: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.0833), 100px);
}

.section-04 h3 {
    font-weight: 300;
    text-align: left;
    color: #fff;

    font-size: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * ((107 - 55) / 600)), 107px);
    line-height: clamp(60px, calc(60px + (min(100vw, 1400px) - 800px) * ((110 - 60) / 600)), 110px);
    letter-spacing: clamp(-6.5px, calc(-3.33px + (min(100vw, 1400px) - 800px) * ((-6.5 + 3.33) / 600)), -3.33px);
}
.section-04-content {
    text-align: left;
    margin-right: 0;
    margin-left: auto;

    max-width: clamp(310px, calc(310px + (min(100vw, 1400px) - 800px) * 0.3333), 500px);
    margin-top: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.0833), 100px);
    margin-bottom: clamp(75px, calc(75px + (min(100vw, 1400px) - 800px) * 0.125), 150px);
}
.section-04-content p {
    font-weight: 300;
    color: #fff;

    font-size: clamp(14px, calc(14px + (min(100vw, 1400px) - 800px) * 0.0117), 21px);
    line-height: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.0167), 30px);
    margin-bottom: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * ((40 - 24) / 600)), 40px);
}
.section-04 .counter-wrapper-main {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    
    gap: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.0233), 30px);
}
.section-04 .counter-wrapper {
    position: relative;
    font-size: 19px;
    line-height: 28px;
    letter-spacing: 0;
    color: #fff;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    border-radius: 8px;
    background: linear-gradient(112.91deg, rgba(142, 91, 253, 0.2) 3.51%, rgba(142, 91, 253, 0) 111.71%);
    backdrop-filter: blur(20.5px);
    box-shadow: 14.65px 17.58px 29.29px 0px #0000000D;
  
    padding: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.025), 35px)
             clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.015), 25px);
}
/* pseudo-element for gradient border */
.section-04 .counter-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 8px;
    padding: 1px;
    background: linear-gradient(
        110.65deg, 
        rgba(235, 235, 235, 0.2) 1.16%, 
        rgba(235, 235, 235, 0.046) 100%
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box, 
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    box-sizing: border-box;
}

.section-04 .counter-wrapper .counter {
    letter-spacing: -6px;

    font-size: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * 0.0867), 107px);
    line-height: clamp(70px, calc(70px + (min(100vw, 1400px) - 800px) * 0.0667), 110px);
}
.counter-wrapper .counter-top {
    display: flex;
    align-items: baseline;
    font-weight: 300;

    font-size: clamp(36px, calc(36px + (min(100vw, 1400px) - 800px) * 0.0333), 56px);
}
.counter-wrapper .uptime {
    font-weight: 300;
    letter-spacing: -2px;

    font-size: clamp(26px, calc(26px + (min(100vw, 1400px) - 800px) * 0.0233), 40px);
    line-height: clamp(36px, calc(36px + (min(100vw, 1400px) - 800px) * 0.0317), 55px);
}
.section-04 .counter-wrapper .desc {
    font-weight: 300;
    text-align: left;
    margin-top: auto;
    color: #D8D6EA;

    min-height: clamp(56px, calc(56px + (min(100vw, 1400px) - 800px) * 0.04), 80px);
    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.0117), 19px);
    line-height: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.0167), 28px);
}
.counter-wrapper .desc span {
    font-weight:700;
}



/****************************************
SECTION 05
****************************************/
.section-built {
    position: relative;
    z-index: 9;
}
.section-built-inner {
    margin-bottom: 2250px;
}

.section-04-05-wrapper {
    position:relative;
}
/* sticky video background */
.section-04-05-wallpaper {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #040515;
}
.section-04-05-wallpaper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

.built-main-wrapper {
    display: flex;
    align-items: center;
    height: 100vh;

    padding-left: clamp(25px, calc(25px + (min(100vw, 1400px) - 800px) * ((115 - 25) / 600)), 115px);
    padding-right: clamp(35px, calc(35px + (min(100vw, 1400px) - 800px) * ((80 - 35) / 600)), 80px);
}




.built-main-inner {
    position: relative;
    overflow: hidden;
    width: 570px;
    max-height: 570px;
    flex: 1;
    margin-left: auto;
}
.built-main-inner-inner {
    position: relative;
    z-index:-1;
    height: 570px;
}
.built-inner-wrapper {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    overflow: hidden;
    font-size: 19px;
    font-weight: 400;
    color: #ffffff;

    width: clamp(260px, calc(260px + (min(100vw, 1400px) - 800px) * 0.2667), 420px);
    height: 570px;
}
.built-inner-inner {
    transition: transform .75s cubic-bezier(.35, .9, .5, 1);
    will-change: transform;
}

.built-inner-wrapper .built-block {
    display: block;
    height: 570px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    opacity: 0.25;
    transition: opacity .5s cubic-bezier(.35, .9, .5, 1);
}
.built-inner-wrapper .built-block.active {
    opacity: 1;
}
.built-block span {
    font-weight: 500;
    letter-spacing: -0.75px;
    color: #B79BFB;

    font-size: clamp(11px, calc(11px + (min(100vw, 1400px) - 800px) * 0.0067), 15px);
}
.built-block h3 {
    font-weight: 500;
    letter-spacing: -0.75px;
    color: #fff;

    font-size: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.0133), 26px);
    line-height: clamp(26px, calc(26px + (min(100vw, 1400px) - 800px) * 0.0167), 36px);
    margin-bottom: clamp(25px, calc(25px + (min(100vw, 1400px) - 800px) * 0.0417), 50px);
}
.built-block p {
    font-weight: 300;
    letter-spacing: -0.75px;
    color: #fff;
    margin-top: 0;

    font-size: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.0133), 26px);
    line-height: clamp(26px, calc(26px + (min(100vw, 1400px) - 800px) * 0.0167), 36px);
}
.built-block p:last-of-type {
    font-weight: 400;
    letter-spacing: 0;
    color: #D8D6EA;

    font-size: clamp(13px, calc(13px + (min(100vw, 1400px) - 800px) * 0.0067), 17px);
    line-height: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.0133), 26px);
}

.built-block a {
    position: relative;
    display: inline-block;
    font-weight: 500;
    width: max-content;

    /* gradient text */
    background: linear-gradient(90deg, #D8C6FF 0%, #C4A9FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;

    letter-spacing: clamp(-0.5px, calc(-0.5px + (min(100vw, 1400px) - 800px) * 0.000357), -0.5px);
    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.01), 18px);
}
.built-block a::before {
    content: '';
    position: absolute;
    height: 12px;

    background-image: url('images/arrow-section-05.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.2s ease;

    top: clamp(2px, calc(2px + (min(100vw, 1400px) - 800px) * 0.0065), 5.5px);
    right: clamp(-16px, calc(-16px + (min(100vw, 1400px) - 800px) * 0.00857), -16px);
    width: clamp(6px, calc(6px + (min(100vw, 1400px) - 800px) * 0.00667), 10px);
}
.built-block a:hover::before {
    transform:translateX(3px);
}

.built-img-wrapper {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    pointer-events: none;
}
.built-img-wrapper-01 {
    opacity: 1;
    pointer-events: auto;
}
.built-img-wrapper-02,
.built-img-wrapper-03,
.built-img-wrapper-04 {
    clip-path: inset(100% 0 0 0);
}
.built-img {
    border-radius:8px;

    background-size: cover;
    background-position: center;
    margin-left: auto;

    width: clamp(360px, calc(360px + (min(100vw, 1400px) - 800px) * 0.35), 570px);
    height: clamp(350px, calc(350px + (min(100vw, 1400px) - 800px) * 0.3667), 570px);
}
.built-img-wrapper-01 .built-img,
.built-mob-img-wrapper-01 .built-mob-img { background-image:url('images/built-01.webp'); }
.built-img-wrapper-02 .built-img,
.built-mob-img-wrapper-02 .built-mob-img { background-image:url('images/built-02.webp'); }
.built-img-wrapper-03 .built-img,
.built-mob-img-wrapper-03 .built-mob-img { background-image:url('images/built-03.webp'); }
.built-img-wrapper-04 .built-img,
.built-mob-img-wrapper-04 .built-mob-img { background-image:url('images/built-04.webp'); }
/* images for /our-solution */
.page-our-solution .built-img-wrapper-01 .built-img,
.page-our-solution .built-mob-img-wrapper-01 .built-mob-img { background-image:url('images/built-01-our-solution.png'); }
.page-our-solution .built-img-wrapper-02 .built-img,
.page-our-solution .built-mob-img-wrapper-02 .built-mob-img { background-image:url('images/built-02-our-solution.png'); }
.page-our-solution .built-img-wrapper-03 .built-img,
.page-our-solution .built-mob-img-wrapper-03 .built-mob-img { background-image:url('images/built-03-our-solution.png'); }
.page-our-solution .built-img-wrapper-04 .built-img,
.page-our-solution .built-mob-img-wrapper-04 .built-mob-img { background-image:url('images/built-04-our-solution.png'); }

/* adjustment */
.page-our-solution .section-04-05-wrapper h2 {
    position: relative;
    z-index: 1;
    font-weight: 300;
    line-height: 110%;
    color: #fff;
    letter-spacing: -5px;

    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.053333), 82px);
    padding-top: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.166667), 180px);
}

  



/****************************************
SECTION 06
****************************************/
.section-06 {
    position: relative;
    z-index: 2;
    display: block;
}
.section-06-inner {
    padding-top: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.1667), 180px);
    padding-bottom: clamp(125px, calc(125px + (min(100vw, 1400px) - 800px) * 0.125), 200px);
}
.home .section-06-inner {
    padding-top: 820px; /* exaggerated on home page for middle positioning on sticky */
}

.section-06-bg {
    position: sticky;
    top: 0;
    width: calc(100% + 100px); /* recalculate on responsive */
    height: 100vh;
    z-index: 0;
    margin-left:-50px;
    margin-bottom: -100vh;

    background-image: url('images/bg-we-are-different.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
}
@media (max-width: 1200px) {
    .section-06-bg {
        width: calc(100% + 50px);
        margin-left:-25px;
    }
}
@media (max-width: 800px) {
    .section-06-bg {
        background-image: url('images/bg-we-are-different-mob.jpg');
    }
}

.section-06-sticky {
    position: sticky;
    top: 50vh;
    z-index: 5;
    transform: translateY(-50%);

    max-width: clamp(400px, calc(400px + (min(100vw, 1400px) - 800px) * 0.625), 775px);
}
.section-06-sticky-inner {
    margin-top: -50%;
}
.section-06-sticky p:first-of-type {
    display: block;
    font-weight: 400;
    letter-spacing: 1px;
    color: #C1A8FF;
    text-transform: uppercase;

    font-size: clamp(10px, calc(10px + (min(100vw, 1400px) - 800px) * 0.0067), 14px);
    margin-bottom: clamp(8px, calc(8px + (min(100vw, 1400px) - 800px) * 0.0133), 16px);
}
.section-06-sticky h3 {
    font-weight: 300;
    color: #fff;
    margin: 0 0 clamp(30px, calc(30px + (min(100vw, 1400px) - 800px) * 0.05), 60px);

    font-size: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * 0.0867), 107px);
    line-height: clamp(60px, calc(60px + (min(100vw, 1400px) - 800px) * 0.085), 110px);
    letter-spacing: clamp(-6.5px, calc(-6.5px + (min(100vw, 1400px) - 800px) * 0), -6.5px);
}
.section-06-sticky p {
    font-weight: 300;
    margin: 0;
    color: #fff;

    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.0117), 19px);
    line-height: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.0167), 28px);
}
.section-06-cards-wrapper {
    max-width:max-content;
    margin: -75px 0 0 auto;
    padding: 0;
    will-change: transform;
}
.section-06-cards-wrapper .section-06-card {
    position: relative;
    font-size: 19px;
    line-height: 28px;
    letter-spacing: 0;
    color: #fff;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    border-radius: 8px;

    background: linear-gradient(112.91deg, rgba(26, 0, 90, .25) 3.51%, rgba(120, 91, 191, 0) 111.71%);
    backdrop-filter: blur(20.5px);
    box-shadow: 14.65px 17.58px 29.29px 0px #0000000D;

    width: clamp(310px, calc(310px + (min(100vw, 1400px) - 800px) * 0.2667), 426px);
    padding: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.2), 30px) 
             clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.2), 30px) 
             clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.2667), 40px) 
             clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.2), 30px);
    margin-bottom: clamp(15px, calc(15px + (min(100vw, 1400px) - 800px) * 0.025), 30px);
}

/* pseudo-element for gradient border */
.section-06-cards-wrapper .section-06-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 8px;
    padding: 1px;
    background: linear-gradient(
        110.65deg, 
        rgba(235, 235, 235, 0.2) 1.16%, 
        rgba(235, 235, 235, 0.046) 100%
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box, 
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    box-sizing: border-box;
}
.section-06-card img {
    height: auto;

    width: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.0333), 40px);
}
.section-06-cards-wrapper .section-06-card h4 {
    letter-spacing: -0.75px;
    margin: 0;

    font-size: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.0167), 26px);
    font-weight: 400;
    line-height: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.0233), 36px);
    padding-top: clamp(15px, calc(15px + (min(100vw, 1400px) - 800px) * 0.2), 30px);
    padding-bottom: clamp(9px, calc(9px + (min(100vw, 1400px) - 800px) * 0.1), 15px);
}
.section-06-cards-wrapper .section-06-card p {
    font-weight: 400;
    color: #D8D6EA;
    margin: 0;

    font-size: clamp(11px, calc(11px + (min(100vw, 1400px) - 800px) * 0.01), 17px);
    line-height: clamp(17px, calc(17px + (min(100vw, 1400px) - 800px) * 0.015), 26px);
}


/****************************************
SECTION 07
****************************************/
.section-07 {
    position: relative;
    z-index: 2;
    background-image: url('images/bg-trusted.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    transform: translateY(0);
    padding-left:0;
    padding-right:0;

    /* bottom line glitch on FF */
    margin-bottom:-1px;
}
/* /our-solution image */
.page-our-solution .section-07 {
    background-image: url('images/bg-how-we-help.jpg');
}
/* /about-us image */
.page-about-us .section-07 {
    background-image: url('images/bg-section-07-work-for-indurex.jpg');
}
.section-07-inner {
    width:50%;
    max-width:100%;
    margin: 0;
    background: #999;
    will-change: transform;
    
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    
    background: linear-gradient(351deg, rgba(23, 43, 69, 0.712) 3.51%, rgba(56, 53, 67, 0) 111.71%);
    padding: clamp(80px, 6.67vw + 26.64px, 120px) clamp(40px, 5vw, 70px);
}
.section-07-inner-wrapper {
    margin-left:auto;
    max-width:730px;
}
.page-our-solution .section-07-inner {
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}
/* /our-solution adjustment */
.page-our-solution .section-07-inner {
    padding-bottom: clamp(200px, calc(200px + (min(100vw, 1400px) - 800px) * 0.3333), 400px);
}
/* /about-us adjustment */
.page-about-us .section-07-inner {
    padding-bottom: clamp(200px, calc(200px + (min(100vw, 1400px) - 800px) * 0.5), 500px);
}

.section-07-inner-wrapper > span {
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #D8D6EA;
    padding-bottom:15px;
    display:block;
}
.section-07-inner h3 {
    max-width: 550px;
    font-weight: 400;
    color: #fff;
    
    font-size: clamp(34px, calc(34px + (min(100vw, 1400px) - 800px) * 0.03), 52px);
    line-height: clamp(38px, calc(38px + (min(100vw, 1400px) - 800px) * 0.035), 60px);
    letter-spacing: clamp(-2.5px, calc(-2.5px + (min(100vw, 1400px) - 800px) * 0.00179), -2.5px);
    margin-bottom: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.02), 32px);
}
.section-07-inner p {
    max-width:525px;
    font-weight: 300;
    color: #fff;
    
    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.01143), 19px);
    line-height: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.01667), 28px);
    margin-bottom: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.02667), 40px);
}

.section-07-inner a {
    color: #fff;
    font-size:15px;
}
.section-07-inner .section-07-quote {
    border-top: 1px solid rgba(255,255,255,0.3);

    margin-right: auto;
    margin-top: clamp(60px, calc(60px + (min(100vw, 1400px) - 800px) * 0.0667), 100px);
    padding-top: clamp(60px, calc(60px + (min(100vw, 1400px) - 800px) * 0.0667), 100px);
}
.section-07-inner .section-07-quote img {
    width: clamp(32px, calc(32px + (min(100vw, 1400px) - 800px) * 0.02667), 48px);
}
.section-07-inner .section-07-quote p {
    max-width: 560px;
    line-height: 110%;
    font-weight: 300;
    letter-spacing: -1.75px;
    color: #fff;

    font-size: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.02857), 32px);
    margin-top: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.0133), 20px);
    margin-bottom: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.0167), 30px);
}
.section-07-inner .section-07-quote p.quote-author {
    font-weight: 400;
    margin: 0;
    padding: 0;
    letter-spacing: -0.25px;
    color: #D8D6EA;

    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.00786), 17px);
    line-height: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.0), 20px);
}
.page-our-solution .section-07-inner a.button-blue {
    margin-top:20px;
}



/****************************************
SECTION 08
****************************************/
.section-08 {
    position: relative;
    z-index: 2;

    width: 100%;
    height: max-content;
    background-color: #fff;

    padding-top: clamp(80px, calc(80px + (100vw - 800px) * 0.075), 125px);
    padding-bottom: clamp(60px, calc(60px + (100vw - 800px) * 0.0667), 100px);
}

.section-08-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;

    margin-bottom: clamp(32px, calc(32px + (100vw - 800px) * 0.04667), 60px);
}
.section-08-title h2 {
    font-weight: 400;
    margin: 0;
    color: #0D0E20;

    font-size: clamp(38px, calc(38px + (100vw - 800px) * 0.02333), 52px);
    line-height: clamp(44px, calc(44px + (100vw - 800px) * 0.02667), 60px);
    letter-spacing: clamp(-2.6px, calc(-2px + ((min(100vw, 1400px) - 800px) * (-0.6 / 600))), -2px);
}
.section-08-title a {
    font-size: 16px;
    font-weight: 500;
    color:#503399;
}



/****************************************
SECTION 09
****************************************/
.section-09 {
    position: relative;
    z-index: 2;
    background-image: url('images/bg-request-demo.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    transform: translateY(0);
    will-change: transform, background-position;
    /* bottom line glitch on FF */
    margin-bottom:-1px;
}
@media (max-width: 700px) {
    .section-09 {
        background-image: url('images/bg-request-demo-mob.webp');
    }
}
.section-09-inner {
    will-change: transform;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap:50px;

    padding-top: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * ((125 - 80)/600)), 125px);
    padding-bottom: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * ((125 - 80)/600)), 125px);
}

/* section 09 overlay gradient */
.section-09::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0.59;
    background: linear-gradient(104.68deg, #080110 11.93%, rgba(57, 4, 118, 0) 78.38%);
}
.section-09::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: 0.59;
    transform:scaleY(-1);
    background: radial-gradient(168.77% 168.77% at 50% 7.96%, rgba(74, 0, 255, 0) 0%, rgba(74, 0, 255, 0) 31.29%, rgba(134, 85, 255, 0.5464) 53.38%, #4A00FF 100%);
}
.section-09-title {
    color: #fff;
    max-width: clamp(300px, calc(300px + (min(100vw, 1400px) - 800px) * ((460 - 300)/600)), 460px);
}
.section-09-title h2 {
    font-weight: 300;
    
    max-width: clamp(200px, calc(200px + (min(100vw, 1400px) - 800px) * ((300 - 200)/600)), 300px);
    margin-bottom: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * ((32 - 20)/600)), 32px);
    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * ((82 - 50)/600)), 82px);
    line-height: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * ((90 - 55)/600)), 90px);
    letter-spacing: calc(max(-5px, min(-3px + ((min(100vw, 1400px) - 800px) * ((-5 + 3)/600)), -3px)));
}
.section-09-inner p {
    font-weight: 300;

    font-size: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * ((26 - 18)/600)), 26px);
    line-height: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * ((36 - 24)/600)), 36px);
}
.section-09-content {
    flex: 1;
    max-width: 705px;
    margin: 0 0 0 0;
    background: #999;
    display: flex;
    align-items: center;
    justify-content: center;
    will-change: transform;
    border-radius: 8px;
    color:#fff;

    background-color: transparent;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
}



/****************************************
SECTION FOOTER
****************************************/
.section-footer {
    position: relative;
    z-index:2;
    background-color:#0D0E20;
    padding-top:72px;
    color: #fff;
}
.section-footer-inner {
    display: flex;
    justify-content: space-between;
}

.footer-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.footer-linkedin img {
    margin-top:90px;
}
.footer-right {
    display: flex;
    gap: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * ((130 - 50)/600)), 130px);
}
@media (max-width: 1200px) {
    .footer-right {
        gap: 85px;
    }
}
.footer-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* footer menu (vertical) */
.footer-menu ul.menu {
    list-style-type: none;
    padding:0;
    margin:0;
}
.footer-menu ul.menu li {
    padding:0 0 12px 0;
}
.footer-menu a {
    color: #fff;
    text-decoration: none;
    font-size:14px;
    line-height:190%;
    font-weight:500;
    letter-spacing:-0.25px;
}
.footer-menu a:hover {
    text-decoration: underline;
}

/* footer aadresses */
.footer-address-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: max-content;
}
.footer-address-columns {
    display: flex;
    gap: 40px;
}
.footer-address-group h3 {
    margin: 0;
    font-size: 14px;
    line-height:190%;
    font-weight:500;
    margin-bottom:4px;
}
.footer-address,
.footer-contact {
    max-width: 290px;
}
.footer-address p,
.footer-contact p {
    margin:0 0 20px 0;
    font-size:12px;
    line-height:18px;
    font-weight:300;
    color:#D8D6EA;
    letter-spacing:0.5px;
}
.footer-address span,
.footer-contact span {
    display:block;
    margin:0;
    font-size:12px;
    line-height:18px;
    font-weight:300;
    color:#D8D6EA;
    letter-spacing:0.5px;
}
.footer-address span a,
.footer-contact span a {
    color:#D8D6EA;
}
.footer-bottom {
    max-width:1600px;
    border-top: 1px solid rgba(255,255,255,0.15);
    margin:60px auto 0 auto;
}
.footer-bottom-inner {
    width: 100%;
    margin: 0 auto;
    padding: 40px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer-bottom-left {
    display: flex;
    gap:50px;
}

/* footer menu (bottom) */
.footer-menu-bottom {
    padding-right:50px;
}
.footer-menu-bottom ul.menu {
    list-style-type: none;
    padding:0;
    margin:0;
}
.footer-menu-bottom ul.menu li {
    display:inline-block;
    padding:0 45px 0 0;
}
.footer-menu-bottom ul.menu li:last-of-type {
    padding-right:0;
}
.footer-menu-bottom a {
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    font-size: 11px;
    font-weight:300;
    letter-spacing:-0.2px;
}
.footer-menu-bottom a:hover {
    text-decoration: underline;
}
.footer-bottom-right {
    font-size: 11px;
    font-weight:300;
    letter-spacing:-0.2px;
    color: rgba(255,255,255,0.65);
    white-space: nowrap;
}

@media (max-width: 800px) {

    .section-footer-inner {
        flex-direction: column;
    }
    .footer-linkedin img {
        margin-top: 30px;
        margin-bottom: 75px;
    }

}



/****************************************
SECTION How it works
****************************************/
.section-how-it-works {
    position: relative;
    z-index: 2;
    background: #fff;
    text-align:left;
}
.section-how-it-works-inner {
    padding-top: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.0667), 120px);
    padding-bottom: clamp(65px, calc(65px + (min(100vw, 1400px) - 800px) * 0.241667), 210px);
}

.section-how-it-works h2 {
    font-weight: 300;
    margin-left: auto;
    letter-spacing: -6.5px;
    line-height: 110%;

    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.053333), 82px);
    margin-bottom: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.04667), 50px);
}
.section-how-it-works p {
    margin-top: 15px;
    font-weight: 400;
    color: #0D0E20;
    letter-spacing: -0.75px;
    
    max-width: clamp(425px, calc(425px + (min(100vw, 1400px) - 800px) * 0.75), 875px);
    font-size: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.01667), 26px);
    line-height: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.02333), 36px);
}
.section-how-it-works p span {
    display: block;
    margin-top: 20px;
    letter-spacing: 0;
    color: #37379B;

    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.00833), 17px);
    line-height: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.01333), 26px);
}
.section-how-it-works .section-image {
    position: relative;
    width: 100%;

    margin-top: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * 0.091667), 110px);
}
.section-how-it-works .section-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}





/****************************************
MOBILE GRAPH on /our-solution
****************************************/
/* mobile graph */
.section-how-it-works .section-image.show-on-mobile { display: none; }
@media (max-width: 800px) {
    .section-how-it-works .section-image.show-on-mobile { display: block; }
}
/* overlay activation button */
.section-how-it-works .section-image.show-on-mobile .open-graph-overlay {
    content: '';
    position: absolute;
    top: 50%;
    border-radius: 100%;
    cursor: pointer;

    right: clamp(2.2%, 5.5vw, 5.5%);
    width: clamp(48px, 15vw, 120px);
    height: clamp(48px, 15vw, 120px);
    transform: translateY(-54%);
}

/* overlay info */
.mobile-graph-overlay {
    position: fixed;
    z-index: 999;
    top: 0;
    left: -1000%;
    opacity: 0;
    width: 100%;
    height: 100%;
    display: none;
    justify-content: center;
    flex-direction: column;
    align-items: center; 
    background: radial-gradient(50% 50% at 50% 50%, #2E0793 0%, #0E022D 100%);

    transition: left 0s ease-out .3s, opacity .3s ease-out;
}
@media (max-width: 800px) {
    .mobile-graph-overlay { display: flex !important; }
}
.mobile-graph-overlay.active {
    left: 0;
    opacity: 1;

    transition: left 0s ease-out 0s, opacity .3s ease-out;
}
.mobile-graph-overlay h3 {
    font-weight: 500;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: -.7px;
    color: #C1A8FF;

    font-size: clamp(14px, calc(14px + (20 - 14) * ((100vw - 320px) / (450 - 320))), 20px);
}
.mobile-graph-overlay p {
    font-weight: 600;
    font-size: 10px;
    line-height: 12px;
    letter-spacing: -.5px;
    text-align: center;
    color: #fff;

    font-size: clamp(10px, calc(10px + (14 - 10) * ((100vw - 320px) / (450 - 320))), 14px);
}
.span-wrapper {
    position: relative;
    border-radius: 3px;
    overflow: hidden;

    font-weight: 400;
    line-height: 14px;
    letter-spacing: -.6px;
    color: #FFFFFFEB;

    width: clamp(200px, calc(200px + (275 - 200) * ((100vw - 320px) / (450 - 320))), 275px);
    height: clamp(35px, calc(35px + (50 - 35) * ((100vw - 320px) / (450 - 320))), 50px);
    font-size: clamp(12px, calc(12px + (16 - 12) * ((100vw - 320px) / (450 - 320))), 16px);
}

.span-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 3px;
    padding:.6px; /* gradient border thickness */
    background: linear-gradient(180deg, #C0ACF2 0%, rgba(192, 172, 242, 0.23) 100%);
    -webkit-mask: 
        linear-gradient(#fff 0 0) content-box, 
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
    mask-repeat: no-repeat;
    mask-origin: border-box;
    pointer-events: none;
}
.span-wrapper span {
    position: relative;
    z-index: 1;
    top:1px;
    left:1px;
    border-radius: 3px;
    width:calc(100% - 2px);
    height:calc(100% - 2px);
    display:flex;
    align-items: center;
    justify-content: center;

    backdrop-filter: blur(10.451506614685059px);

    box-shadow: 7.47px 8.96px 14.93px 0px #0000000D;
    background: #1503424A;
}  
.vert-spacer {
    width: 1px;
    height:20px;

    background-image: url('images/vert-spacer.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

/* close mobile menu */
.close-graph-overlay {
    position: absolute;
    z-index: 999;
    display: block;
    top: 25px;
    right: 25px;
    width: 24px;
    height: 24px;
    cursor: pointer;
}
.close-graph-overlay::before,
.close-graph-overlay::after {
    content: '';
    position: absolute;
    top: 11px;
    left: 1px;
    width: 22px;
    height: 2px;
    transform: rotate(45deg);
    background-color: #fff;
}
.close-graph-overlay::after {
    transform: rotate(-45deg);
}





/****************************************
SECTION Logos
****************************************/
.section-logos {
    position: relative;
    z-index: 2;
    padding: 0 20px;
    text-align:left;
    background: #0D0E20;
}
.section-logos-inner {
    padding-top: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.06667), 120px);
    padding-bottom: clamp(90px, calc(90px + (min(100vw, 1400px) - 800px) * 0.09167), 125px);
}

.section-logos h2 {
    font-weight: 400;
    letter-spacing: -2px;
    text-align: center;
    color: #fff;

    font-size: clamp(30px, calc(30px + (min(100vw, 1400px) - 800px) * 0.05), 42px);
    line-height: clamp(40px, calc(40px + (min(100vw, 1400px) - 800px) * 0.05), 48px);
    margin-bottom: clamp(75px, calc(75px + (min(100vw, 1400px) - 800px) * 0.0333), 90px);
}

.section-logos .logos-wrapper {
    text-align: center;
}
.section-logos .logos-wrapper img {
    height: 89px;
    width: auto;
    margin: 0 25px;
}

/* logo carousel */
.logo-carousel-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
}
.logo-carousel {
    display: flex;
    align-items: center;
    will-change: transform;
    transition: transform 0.3s ease-out; /* change instances in js also */
}
.carousel-logo {
    width: calc(100% / 7);
    height: auto;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
}
@media (max-width: 1400px) {
    .carousel-logo { width: calc(100% / 6); }
}
@media (max-width: 1200px) {
    .carousel-logo { width: calc(100% / 5); }
}
@media (max-width: 700px) {
    .carousel-logo { width: calc(100% / 4); }
}
@media (max-width: 400px) {
    .carousel-logo { width: calc(100% / 3); }
}
.carousel-logo img {
    max-width: 100%;
    max-height: auto;
    height: auto;
}




/****************************************
LENIS SCROLL
****************************************/
html.lenis,
html.lenis body {
    height: auto;
}
.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}
.lenis.lenis-stopped {
    overflow: hidden;
}
.lenis.lenis-scrolling iframe {
    pointer-events: none;
}



/****************************************
PAGE TEMPLATE: Basic
****************************************/
.template-basic-main {
    font-size: 17px;
    line-height: 26px;
    letter-spacing: 0px;
    color:#000;

    background:#fff;
}
.template-basic-main-inner {
    width: 100%;
}
.template-basic-main article .basic-heading {
    width: 100%;
    padding: 150px 50px 90px 50px;
    
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    
    background: linear-gradient(167.63deg, #37379B 11.74%, #6240DB 107.76%);

    min-height: clamp(250px, calc(250px + (min(100vw, 1400px) - 800px) * 0.1667), 350px);
}
@media (max-width: 1200px) {
    .template-basic-main article .basic-heading {
        padding-left:25px;
        padding-right:25px;
    }
}
.template-basic-main article h1 {
    width: 100%;
    max-width: 880px;
    margin: 0 auto;
    line-height: 110%;
    font-weight: 300;
    color: #fff;
    letter-spacing: -5px;

    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.05333), 82px);
}
.template-basic-main .entry-content h1 {
    color: #000;
}
.template-basic-main article .entry-content {
    max-width: calc(880px + 100px);
    margin: 0 auto;
    padding-left:50px;
    padding-right:50px;

    padding-top: 130px;
    padding-bottom: 130px;

    padding-top: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.0833), 130px);
    padding-bottom: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.0833), 130px);
}
@media (max-width: 1200px) {
    .template-basic-main article .entry-content {
        max-width: calc(880px + 50px);
        padding-left:25px;
        padding-right:25px;
    }
}



/****************************************
PAGE: 404
****************************************/
.section-404-main {
    font-size: 17px;
    line-height: 26px;
    letter-spacing: 0px;
    color:#000;

    background:#fff;
}
.section-404-main-inner {
    width: 100%;
}
.section-404-main .section-404-heading {
    width: 100%;
    min-height:350px;
    padding:150px 50px 90px 50px;

    display: flex;
    align-items: flex-end;
    justify-content: flex-start;

    background: linear-gradient(167.63deg, #37379B 11.74%, #6240DB 107.76%);
}
@media (max-width: 1200px) {
    .section-404-main .section-404-heading {
        padding-left:25px;
        padding-right:25px;
    }
}
.section-404-main h1 {
    width:100%;
    max-width:880px;
    margin:0 auto;

    font-size: 82px;
    line-height: 110%;
    font-weight: 300;
    color:#fff;
    letter-spacing: -5px;
}
.section-404-main p {
    max-width: calc(880px + 100px);
    margin: 0 auto;
    padding: 130px 50px;
}
@media (max-width: 1200px) {
    .section-404-main p {
        max-width: calc(880px + 50px);
        padding-left: 25px;
        padding-right: 25px;
    }
}





/****************************************
PAGE: /resources
****************************************/
.section-resources {
    position: relative;
    z-index: 2;
    margin-top: 100vh;
    padding-top: 50px;
    padding-bottom: 175px;
    
    background-color:#fff;
}
.section-resources-inner {
    display: flex;
    align-items: center;
    flex-direction: column;
}

/* /resources featured post */
.resources-featured-content {
    width: 100%;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(167.63deg, #37379B 11.74%, #6240DB 107.76%);

    margin-bottom: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.1167), 170px);
    padding-top: clamp(40px, calc(40px + (70 - 40) / 600 * (min(100vw, 1400px) - 800px)), 70px);
    padding-right: clamp(40px, calc(40px + (80 - 40) / 600 * (min(100vw, 1400px) - 800px)), 80px);
    padding-bottom: clamp(50px, calc(50px + (85 - 50) / 600 * (min(100vw, 1400px) - 800px)), 85px);
    padding-left: clamp(35px, calc(35px + (70 - 35) / 600 * (min(100vw, 1400px) - 800px)), 70px);
}
.resources-featured-content article {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;

    gap: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.1667), 150px);
}
.sticky-post-text {
    flex: 1;
    max-width:450px;
}
.sticky-post-text > span {
    display:block;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0;
    color:#C1A8FF;
    margin-bottom:10px;
}
.sticky-post-text h2 a {
    font-weight: 400;
    letter-spacing: -2px;
    color: #fff;
    text-decoration: none;

    font-size: clamp(30px, calc(30px + (min(100vw, 1400px) - 800px) * 0.02), 42px);
    line-height: clamp(36px, calc(36px + (min(100vw, 1400px) - 800px) * 0.0233), 50px);
}
.sticky-post-text p {
    font-weight: 400;
    letter-spacing: 0;
    color: #D8D6EA;
    padding: 0;
    margin-top: 30px;

    font-size: clamp(14px, calc(14px + (min(100vw, 1400px) - 800px) * 0.005), 17px);
    line-height: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.00667), 26px);
}
.sticky-post-text a.button-white {
    margin-top:5px;
}
.sticky-post-image-wrapper {
    flex: 1;
    position: relative;
    margin-top: 30px;
}
.sticky-post-image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}
.post-tag-overlay,
.sticky-post-tag-overlay {
    position: absolute;
    top: 10px;
    left: 10px;

    font-weight: 500;
    letter-spacing: 0;

    border-radius: 5px;
    border: 1px solid #fff;
    padding: 4px 5px;

    backdrop-filter: blur(20.505619049072266px);
    box-shadow: 14.65px 17.58px 29.29px 0px #0000000D;
    background-color: #F7F7F733;

    font-size: clamp(8px, calc(8px + (100vw - 800px) * 0.00667), 12px);
}
.sticky-post-tag-overlay a {
    color: #fff;
    text-decoration: none;
}
.sticky-post-tag-overlay a:hover {
    text-decoration: underline;
}

/* tag/year dropdowns */
#post-filter-form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    width: 100%;
    margin:25px auto 0 0;
}
.filter-tag-wrapper {
    grid-column: 1;
}
.filter-year-wrapper {
    grid-column: 2;
}
#post-filter-form select {
    width: 100%;
    height: 50px;
    border-radius:none;
    border: none;
    border-bottom: 1px solid #D8D6EA;

    font-family: Sora;
    font-weight: 400;
    font-size: 17px;
    letter-spacing: 0;
    color:#37379B;

    transition:.2s ease;
    
    background:#fff;
    
    /* hide default dropdown arrow */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
#post-filter-form select:hover {
    border-color:#37379B;
}
#post-filter-form select:focus,
#post-filter-form select:active,
#post-filter-form select:focus-visible {
    outline: none;
    box-shadow: none;
}

/* tag/year dropdown */
.filter-tag-wrapper,
.filter-year-wrapper {
    position:relative;
}
/* prefix */
.filter-tag-wrapper::before,
.filter-year-wrapper::before {
    position:absolute;
    top:-20px;
    left:3px;

    font-weight: 400;
    font-size: 12px;
    letter-spacing: -.5px;
    color:#160F50;
}
.filter-tag-wrapper::before {
    content:'Filter by';
}
.filter-year-wrapper::before {
    content:'Years';
}
/* custom arrow */
.filter-tag-wrapper::after,
.filter-year-wrapper::after {
    content:'';
    position:absolute;
    width:20px;
    height:20px;
    bottom:14px;
    right:0;
    transform:rotate(90deg);

    background-image: url('images/button-arrow-blue.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 8px 12px;
}

/* loop output */
#post-results {
    overflow: hidden;
    width: 100%;
    margin-top:50px;
}

/* /resoures ajax pagination */
.post-pagination {
    text-align:center;
}
.post-pagination .page-number,
.post-pagination .page-arrow,
.post-pagination .page-ellipsis {
    display: inline-block;
    width: 50px;
    height: 50px;
    margin: 0 5px;
    cursor: pointer;
    border-radius: 100px;

    font-weight: 500;
    font-size: 16px;
    line-height: 50px;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;

    border: 1px solid #D8D6EA;
}
.page-number.active {
    cursor: default;
}
.post-pagination .page-number:not(.active) {
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}
.post-pagination .page-number:not(.active):hover {
    background: none;
    -webkit-text-fill-color: #fff;
    background-clip: border-box;
    color: #fff;
}
/* numbers active/hover */
.post-pagination .page-number.active,
.post-pagination .page-number:not(.active):hover {
    color: #fff;
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
}

/* pagination arrows */
.page-arrow-left,
.page-arrow-right {
  position: relative;
}
.page-arrow-left::after,
.page-arrow-right::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;

    width: 8px;
    height: 12px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('images/button-arrow-blue.svg');
}
/* left arrow */
.page-arrow-left::after {
    transform:translate(-50%, -50%) scaleX(-1);
}
.page-arrow-left:hover::after {
    transform:translate(-50%, -50%) scaleX(1);
}
/* right arrow */
.page-arrow-right::after {
    transform:translate(-50%, -50%) scaleX(1);
}
.page-arrow-right:hover::after {
    transform:translate(-50%, -50%) scaleX(-1);
}
/* arrow hovers (change icon) */
.page-arrow-left:hover::after,
.page-arrow-right:hover::after {
    background-image: url('images/button-arrow-light.svg');
}
/* arrow hovers (change bg) */
.page-arrow-left:not(.disabled):hover,
.page-arrow-right:not(.disabled):hover {
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
}
/* when arrows disabled */
.post-pagination .page-arrow.disabled {
    pointer-events:none;
}
.post-pagination .page-arrow.disabled::after {
    background-image: url('images/button-arrow-light.svg');
}
.post-pagination .page-arrow-left.disabled::after {
    transform:translate(-50%, -50%) scaleX(1);
}
.post-pagination .page-arrow-right.disabled::after {
    transform:translate(-50%, -50%) scaleX(-1);
}
/* disabled arrows */
.post-pagination .page-arrow.disabled {
    cursor: default;
}

/* ellipsis styling */
.post-pagination .page-ellipsis {
    cursor: default;
}



/****************************************
PAGE: SINGLE POST
****************************************/
.section-single-post {
    padding-top: clamp(125px, calc(125px + (min(100vw, 1400px) - 800px) * 0.125), 160px);
    padding-bottom: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.0417), 75px);
}
.section-single-post-inner {
    max-width:1080px;
}

.entry-content-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 52px;
    padding: 0 100px 0 0;
    padding: 0; /* when share icons hidden */
    margin: 0 auto;
}

/* prev/next buttons */
.single-prev-post,
.single-next-post {
    position: fixed;
    z-index: 20;
    top: 50vh;
    left: 10px;

    text-decoration: none;
    color: #333;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;
    border-radius: 100px;
    border: 1px solid #D8D6EA;
    background-color: #fff;

    transition:.5s ease;
}
.single-next-post {
    left: auto;
    right: 10px;
}
/* button arrows */
.single-prev-post::before,
.single-next-post::before {
    content: '';
    position: absolute;
    top: 18.5px;
    left: 21.5px;
    width: 8px;
    height: 12px;
    display: block;

    background-image: url('images/button-arrow-blue.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.single-prev-post::before {
    left: 20px;
    transform: scaleX(-1);
}
/* button arrow icon hover */
.single-prev-post:hover::before {
    transform: scaleX(1);
}
.single-next-post:hover::before {
    transform: scaleX(-1);
}
/* button bg hover */
.single-prev-post:hover,
.single-next-post:hover {
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
}
.single-prev-post:hover::before,
.single-next-post:hover::before {
    background-image: url('images/button-arrow-light.svg');
}
/* hide buttons when scrolled past story */
.single-prev-post.hidden,
.single-next-post.hidden {
    opacity:0;
    transform:translateY(-50px);
    pointer-events:none;
}

/* popup page title */
.single-prev-post .title,
.single-next-post .title {
    position: absolute;
    width: 300px;
    overflow: hidden;
    padding:15px;
    border-radius:8px;
    font-size:16px;
    line-height:22px;
    font-weight:500;
    background-color:#fff;
    border:1px solid #DBDBDB;
    transition:0.35s ease;
    opacity: 0;
    pointer-events:none;
}
.single-prev-post .title {
    left:50px;
}
.single-next-post .title {
    right:50px;
}
.single-prev-post:hover .title,
.single-next-post:hover .title {
    opacity: 1;
}
.single-prev-post:hover .title {
    transform:translateX(10px);
}
.single-next-post:hover .title {
    transform:translateX(-10px);
}

/* breadcrumbs */
.section-single-post-inner .breadcrumbs {
    margin-bottom: 120px;
    opacity: .8;
    font-size: 12px;
}
.section-single-post-inner .breadcrumbs {
    color: #000;
}
.section-single-post-inner .breadcrumbs a,
.section-single-post-inner .breadcrumbs span a {
    font-weight: 400;
    font-size: 12px;
    line-height: 20px;
    letter-spacing: 0;

    color: #7D85AA;
    text-decoration:none;
}
.section-single-post-inner .breadcrumbs a:hover {
    text-decoration:underline;
    color: #37379B;
}
.section-single-post-inner .breadcrumb_last {
  color: #37379B;
}

/* share buttons */
.entry-content-wrapper .share-wrapper {
    position: sticky;
    top: 100px;
    align-self: flex-start;
    flex: 0 0 auto;

    display: flex;
    flex-direction: column;

    display: none; /* hide per Maarten's request */
}
.entry-content-wrapper .share-wrapper a {
    display: block;
    width: 48px;
    height: 48px;
    border-radius: 100px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 11px;

    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
}
.entry-content-wrapper .share-wrapper a img {
    width:21px;
    height:21px;
}

/* date */
.section-single-post .entry-content-wrapper .post-meta {
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0px;
    color:#8655FF;
    padding-top:3px;
    margin-top:0;
    margin-bottom:10px;
}

/* Read Meter */
.bsf-rt-reading-time {
    position:relative;
    display:block !important;
    padding:0 !important;
    margin: 5px 0 0 0 !important;
    background:transparent !important;
    font-size: 12px !important;
}
.resources-featured-content .bsf-rt-reading-time {
    color:#C1A8FF !important;
    margin-top:4px !important;
}
.posts-grid .bsf-rt-reading-time {
    color:#7D85AA !important;
    margin-top:3px !important;
    font-size: clamp(8px, calc(8px + (100vw - 800px) * 0.00667), 12px) !important;
}
.single-post .bsf-rt-reading-time {
    color:#8655FF !important;
}


/* tag */
.section-single-post .entry-content-wrapper .post-tag {
    display:inline-block;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0;

    margin-bottom:25px;
}
.section-single-post .entry-content-wrapper .post-tag a {
    border-radius: 5px;
    border: 1px solid #8655FF;
    padding: 2.5px 9px;
    margin-right:3px;
    
    color: #8655FF;
    text-decoration: none;
}
.section-single-post .entry-content-wrapper .post-tag a:hover {
    text-decoration: underline;
}

/* article */
.entry-content-wrapper .entry-content {
    flex: 1 1 auto;
}
.section-single-post article h1 {
    max-width: 100%;
    height: auto;
    font-weight: 400;
    letter-spacing: -2.5px;

    font-size: clamp(34px, calc(34px + (min(100vw, 1400px) - 800px) * 0.03), 52px);
    line-height: clamp(40px, calc(40px + (min(100vw, 1400px) - 800px) * 0.0333), 60px);
}
.section-single-post article img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;

    margin-top: clamp(40px, calc(40px + (min(100vw, 1400px) - 800px) * 0.0333), 60px);
    margin-bottom: clamp(35px, calc(35px + (min(100vw, 1400px) - 800px) * 0.025), 50px);
}


.section-single-post article h1:not(.single-title) {
    font-weight: 400;
    letter-spacing: -2.5px;

    font-size: clamp(36px, calc(36px + (min(100vw, 1400px) - 800px) * (20 / 600)), 56px) !important;
    line-height: clamp(40px, calc(40px + (min(100vw, 1400px) - 800px) * (20 / 500)), 60px) !important;
}
.section-single-post article h2 {
    font-weight: 400;
    letter-spacing: -2.25px;

    font-size: clamp(28px, calc(28px + (min(100vw, 1400px) - 800px) * 0.0233), 42px);
    line-height: clamp(32px, calc(32px + (min(100vw, 1400px) - 800px) * 0.0267), 48px);
}
.section-single-post article h3 {
    font-weight: 400;
    letter-spacing: -1px;

    font-size: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.0133), 26px);
    line-height: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.02), 36px);
}
.section-single-post article h4 {
    font-weight: 400;
    letter-spacing: -0.5px;

    font-size: clamp(17px, calc(17px + (min(100vw, 1400px) - 800px) * (5 / 600)), 22px);
    line-height: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * (6 / 600)), 30px);
}
.section-single-post article h5 {
    font-weight: 400;
    letter-spacing: 0px;

    font-size: clamp(15px, calc(15px + (min(100vw, 1400px) - 800px) * (3 / 600)), 18px);
    line-height: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * (4 / 600)), 26px);
}
.section-single-post article h6 {
    font-weight: 400;
    letter-spacing: 0.25px;

    font-size: clamp(13px, calc(13px + (min(100vw, 1400px) - 800px) * (2 / 600)), 15px);
    line-height: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * (4 / 600)), 22px);
}

.section-single-post article p:not(.wp-block-quote p) {
    color: #37379B;
    padding: 5px 0 15px 0;

    font-size: clamp(14px, calc(14px + (min(100vw, 1400px) - 800px) * 0.005), 17px);
}
.section-single-post article ul,
.section-single-post article ol {
    margin:-20px 0 20px 30px;
    padding:0;
}
.section-single-post article ul li::marker {
    font-size: 1.25em;
    line-height: 12px;
}
.section-single-post article p,
.section-single-post article li {
    font-size: clamp(14px, calc(14px + (min(100vw, 1400px) - 800px) * 0.005), 17px);
    line-height: 140%;
    color: #37379B;
    padding: 5px 0 5px 0;
}
.wp-block-quote {
    position: relative;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 25px;
    padding: 0;

    margin-top: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.075), 145px);
}
.wp-block-quote::before {
    content: '';
    position: absolute;
    left: 2px;
    display: block;

    background-image: url('images/blockquote.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    top: clamp(-40px, calc(-40px + (min(100vw, 1400px) - 800px) * 0.025), -65px);
    width: clamp(30px, calc(30px + (min(100vw, 1400px) - 800px) * 0.0167), 30px);
    height: clamp(30px, calc(30px + (min(100vw, 1400px) - 800px) * 0.0167), 30px);
}
.wp-block-quote p {
    font-weight: 300 !important;
    letter-spacing: -1.35px;
    
    background: linear-gradient(90.16deg, #503399 -6.94%, #8655FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;

    font-size: clamp(30px, calc(30px + (min(100vw, 1400px) - 800px) * 0.0167), 40px) !important;
}
.wp-block-quote cite {
    display: block;
    margin-top: 40px;
    font-weight: 400;
    font-size: 17px;
    line-height: 26px;
    font-style: normal;
    letter-spacing: -1%;
    color: #160F50;
}
.entry-content .has-medium-font-size {
    font-size: 26px !important;
    line-height: 36px !important;
    color: #160F50 !important;
}
@media (max-width: 800px) {
    .entry-content .has-medium-font-size {
        font-size: 22px !important;
        line-height: 30px !important;
    }
}
  

/* related stories */
.section-single-post .related-stories {
    max-width: 1600px;
    margin: 0 auto;
    margin-top: clamp(125px, calc(125px + (min(100vw, 1400px) - 800px) * 0.1667), 225px);
}
.section-single-post .related-stories h4 {
    font-weight: 400;
    letter-spacing: -2.75px;
    color: #0D0E20;
    margin-bottom: clamp(35px, calc(35px + (min(100vw, 1400px) - 800px) * 0.025), 50px);

    font-size: clamp(34px, calc(34px + (min(100vw, 1400px) - 800px) * 0.03), 52px);
}


/* Read Meter progress bar */
#bsf_rt_progress_bar_container {
    z-index:20;
    top:76px;
    opacity:1 !important;

    transition:all 0.4s ease .035s !important;
}
#bsf_rt_progress_bar_container.scrolled {
    top:0px !important;
}
@media (max-width: 800px) {
    #bsf_rt_progress_bar_container {
        top:70px;
    }
}


/****************************************
PAGE: /industries
****************************************/
.section-industries {
    position: relative;
    z-index: 2;
    padding-bottom:100px;
    background: #fff;
}
.section-industries-inner {
}

.industries-intro {
    margin: 0;
    max-width: 990px;
    font-weight: 400;
    letter-spacing: -0.75px;
    color: #160F50;
    
    padding-top: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.1333), 180px);
    padding-bottom: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.1333), 180px);
    font-size: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.01), 26px);
    line-height: clamp(28px, calc(28px + (min(100vw, 1400px) - 800px) * 0.01333), 36px);
}
.industries-wrapper {
    width: 100%;
    position: relative;
}
.page-industries .section-industries h2 {
    font-weight: 300;
    letter-spacing: -5px;
    color: #0D0E20;
    
    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.05333), 82px);
    padding-bottom: clamp(60px, calc(60px + (min(100vw, 1400px) - 800px) * 0.0667), 100px);
}
.industries-container {
    display: flex;
    margin: 0 auto;
}
.industries-left {
    flex: 2;
    min-height: calc(50vh + 1110px);
    box-sizing: content-box; /* important */

    padding-top: 50vh;
    padding-left: clamp(5px, calc(5px + (min(100vw, 1400px) - 800px) * 0.15833), 100px);
    padding-right: clamp(15px, calc(15px + (min(100vw, 1400px) - 800px) * 0.0167), 25px);
}
.industries-left .industries-content {
    position: relative;
    max-width: 450px;
    height: 725px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.industries-left .industries-content:nth-of-type(1) {
    transform: translateY(-50%);
    margin-bottom: calc(-725px / 2);
}
.industries-content {
    color: #37379B;
    font-weight: 400;
    letter-spacing: 0;

    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.00533), 15px);
    line-height: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.00667), 24px);
}
.industries-content > span {
    font-weight: 600;
    letter-spacing: -0.75px;
    color: #160F50;

    font-size: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.01), 26px);
    line-height: clamp(28px, calc(28px + (min(100vw, 1400px) - 800px) * 0.01333), 36px);
}
.industries-content p:first-of-type {
    margin-bottom: 10px;
    font-weight: 400;
    letter-spacing: -0.75px;
    color: #0D0E20;

    margin-top: clamp(40px, calc(40px + (min(100vw, 1400px) - 800px) * 0.0333), 60px);
    font-size: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.01), 26px);
    line-height: clamp(28px, calc(28px + (min(100vw, 1400px) - 800px) * 0.01333), 36px);
}
.industries-content p:last-of-type {
    margin:0;
}
.industries-content ul {
    padding: 0 0 0 20px;
    margin: -10px 0 3px 0;
}
.industries-right {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;

    width: clamp(450px, calc(450px + (min(100vw, 1400px) - 800px) * 0.25), 600px);
}
@media (max-width: 1250px) { .industries-right { transform: scale(.85); } }
@media (max-width: 1050px) { .industries-right { transform: scale(.8); } }
@media (max-width: 1000px) { .industries-right { transform: scale(.75); } }
@media (max-width: 900px) { .industries-right { transform: scale(.65); } }
  
.industries-right-inner {
    position: relative;
    width: 525px;
    height: 725px;
}
.industries-image {
    position: absolute;
    top: 80px;
    left: 0;
    width: 425px;
    height: 565px;
    border-radius: 8px;
    transform-origin: right;
    will-change: transform;
}
.industries-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}
/* Initial states */
.industries-image:nth-child(1) { z-index:3; }
.industries-image:nth-child(2) { z-index:2; }
.industries-image:nth-child(3) { z-index:1; }

/* quote section */
.section-quote {
    position: relative;
    z-index: 2;
    background: #fff;

    background:
    url('images/bg-section-quote-industries.png') no-repeat center / cover,
    linear-gradient(199.4deg, #EFEFF3 14.5%, #E8E8FB 44.23%, #C4C4F2 96.96%);

    padding-top: clamp(180px, calc(180px + (min(100vw, 1400px) - 800px) * 0.1667), 280px);
    padding-bottom: clamp(150px, calc(150px + (min(100vw, 1400px) - 800px) * 0.225), 285px);
}
.section-quote-inner {
    max-width:995px;
}
.section-quote h2::before {
    content: '';
    position: absolute;
    top: -65px;
    left: 2px;
    display: block;

    background-image: url('images/blockquote.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    width: clamp(35px, calc(35px + (min(100vw, 1400px) - 800px) * 0.025), 50px);
    height: clamp(35px, calc(35px + (min(100vw, 1400px) - 800px) * 0.025), 50px);
}
.section-quote h2 {
    font-weight: 300;
    letter-spacing: -1.8px;

    font-size: clamp(30px, calc(30px + (min(100vw, 1400px) - 800px) * 0.01667), 40px);
    margin-bottom: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.025), 35px);
}
.section-quote .word-reveal .word,
.section-quote .word-reveal-scroll .word {
    background: linear-gradient(90deg, var(--grad-start, #503399) var(--grad-pos-start, -6.94%), var(--grad-end, #8655FF) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.section-quote p {
    font-weight: 400;
    letter-spacing: 0;
    color: #160F50;
    margin: 0;

    font-size: clamp(15px, calc(15px + (min(100vw, 1400px) - 800px) * 0.00333), 17px);
    line-height: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.00667), 26px);
}



/****************************************
PAGE: /about-us
****************************************/
/* who we are */
.who-we-are {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
    color: #fff;
    width: 100%;

    gap: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.1083), 115px);
    padding-top: clamp(40px, calc(40px + (min(100vw, 1400px) - 800px) * 0.0417), 65px);
    padding-bottom: clamp(60px, calc(60px + (min(100vw, 1400px) - 800px) * 0.0917), 115px);
}
.who-we-are:nth-of-type(2) {
    margin-bottom:43%;
}
.who-we-are div {
    flex: 1;
    min-width: 0;
}
.who-we-are .text {
  max-width: 420px;
}
.who-we-are h3 {
    font-weight: 600;
    letter-spacing: -0.75px;
    
    margin-bottom: clamp(35px, calc(35px + (min(100vw, 1400px) - 800px) * 0.025), 50px);
    font-size: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.01), 26px);
    line-height: clamp(28px, calc(28px + (min(100vw, 1400px) - 800px) * 0.01333), 36px);
}
.who-we-are p {
    font-weight: 300;
    letter-spacing: -0.75px;

    font-size: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.01), 26px);
    line-height: clamp(28px, calc(28px + (min(100vw, 1400px) - 800px) * 0.01333), 36px);
}
.who-we-are p:nth-child(3) {
    font-weight: 400;
    letter-spacing: 0;
    color: #D8D6EA;

    font-size: clamp(14px, calc(14px + (min(100vw, 1400px) - 800px) * 0.005), 17px);
    line-height: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.004), 26px);
}
.who-we-are .image {
    max-width:540px;
    margin-left:auto;
}
.who-we-are:nth-child(2) .image {
    max-width:570px;
}
.who-we-are div img {
    width:100%;
    height:auto;
    border-radius:8px;
}


/* our team section */
.section-our-team {
    position: relative;
    z-index: 2;
    background: #fff;

    padding-top: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.216667), 180px);
    padding-bottom: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.133333), 180px);
}
.section-our-team-inner {
}
.our-team {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    padding: 0px 0;
}
.team-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width:430px;
}
.team-text h2 {
    font-weight: 300;
    letter-spacing: -5px;
    color: #000;

    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.05333), 82px);
    line-height: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * 0.05333), 90px);
}
.team-text p {
    font-weight: 300;
    letter-spacing: 0;
    color: #0D0E20;

    font-size: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.00833), 21px);
    line-height: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.01), 30px);
}
.team-images {
    flex: 1;
    display: flex;
    gap: 20px;
    justify-content: left;
}
.team-member {
    max-width: 425px;
    text-align: left;
}
.team-member-inner {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}
.team-member .team-member-info {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    transition: all .75s ease;

    padding: clamp(10px, calc(10px + (min(100vw, 1400px) - 800px) * 0.0167), 30px)
             clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.0167), 33px)
             0
             clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.0167), 30px);

    background: linear-gradient(104.64deg, rgba(0, 16, 35, 0.8) 3.96%, rgba(129, 111, 103, 0) 197.55%);
    backdrop-filter: blur(10px);
    box-shadow: 14.65px 17.58px 29.29px 0px #0000000D;
}
.team-member:hover .team-member-info {
    opacity: 1;
}
.team-member-info p {
    font-weight: 400;
    letter-spacing: 0;
    color: #fff;
  
    margin-bottom: clamp(10px, calc(10px + (min(100vw, 1400px) - 800px) * 0.0333), 30px);
    font-size: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.00833), 17px);
    line-height: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.015), 26px);
}
.team-member-inner img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
    display: block;
    margin: 0;
    transform-origin: top;
    transition: 1.25s ease;
}
.team-member:hover .team-member-inner img {
    transform: scale(1.05);
}
.team-member h3 {
    font-weight: 400;
    font-size: 17px;
    line-height: 26px;
    letter-spacing: -.25px;
    color: #160F50;
    margin: 30px 0 0 0;
}
.team-member > p {
    color: #7D85AA;
    margin: 0;
}
@media (max-width: 1350px) {
    .our-team {
        flex-direction: column;
    }

    .team-images {
        gap: 20px;
        width: 100%;
        margin:0 auto;
        text-align: center;
    }
}


/* across industries section */
.section-across-industries {
    position: relative;
    z-index: 2;
    background: #fff;

    padding-top: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.1667), 180px);
    padding-bottom: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.0917), 155px);
}
.section-across-industries h2 {
    font-weight: 300;
    letter-spacing: -5px;
    color: #0D0E20;

    max-width: clamp(400px, calc(400px + (min(100vw, 1400px) - 800px) * 0.8), 880px);
    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.095), 107px);
    line-height: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.1), 110px);
}
.section-across-industries .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top:50px;
    gap:15px;
}
.section-across-industries .text {
    flex: 1;
    margin-top: -100px;
}
.section-across-industries .text p {
    font-weight: 300;
    letter-spacing: 0;
    color: #37379B;

    max-width: clamp(340px, calc(340px + (min(100vw, 1400px) - 800px) * 0.1417), 425px);
    font-size: clamp(14px, calc(14px + (min(100vw, 1400px) - 800px) * 0.00833), 19px);
    line-height: clamp(22px, calc(22px + (min(100vw, 1400px) - 800px) * 0.00667), 28px);
}
.section-across-industries .buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    align-items: center;
    margin-top:40px;
}
.section-across-industries .buttons .button-white {
    position: relative;
    border-radius: 100px;
    z-index: 1;
    border: none;
}
.section-across-industries .buttons .button-white::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 100px;
    padding: 1px;
    background: linear-gradient(108.61deg, #C0ACF2 1.06%, rgba(192, 172, 242, 0.23) 133.76%);

    -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;

    z-index: -1;
}

.section-across-industries .image {
    position: relative;
    transform: scale(.65);
    will-change: opacity, transform;
    opacity: 0;
    
    transition: opacity 1s cubic-bezier(0.34, 1.56, 0.64, 1), 
                transform 1s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    max-width: clamp(340px, calc(340px + (min(100vw, 1400px) - 800px) * 0.5833), 690px);
}
.section-across-industries-inner .image.visible {
    transform:scale(1);
    opacity:1;
}
.section-across-industries .image img {
    width: 100%;  
    height: auto;
}
.section-across-industries .image::before,
.section-across-industries .image::after {
    content: '';
    position: absolute;
    top: 55%;
    left: 11.75%;
    width: 14px;
    height: 14px;
    border-radius: 50px;
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    box-shadow: 0px 4px 20.7px 0px #4900FF;

    animation: mapDot 2.6s ease-in-out infinite;
    will-change: opacity;
}
.section-across-industries .image::after {
    top: 43.25%;
    left: auto;
    right: 29.75%;
    animation-delay: 0s;
}
/* hide US location for now */
.section-across-industries .image::before {
    display: none;
}
@keyframes mapDot {
    0%   { opacity: 1; }
    20%  { opacity: 1; }
    50%  { opacity: .25; }
    80%  { opacity: 1; }
    100% { opacity: 1; }
}
  
  



/****************************************
SECTION Our solution
****************************************/
.section-our-solution {
    position:relative;
    z-index:2;
    color:#fff;

    display: flex;
    align-items: flex-end;
    justify-content: flex-start;

    background: radial-gradient(168.77% 168.77% at 50% 7.96%, rgba(74, 0, 255, 0) 0%, rgba(74, 0, 255, 0) 31.29%, rgba(134, 85, 255, 0.5464) 53.38%, #4A00FF 100%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */;
    background-color:#160F50;
}
/* extra bg gradient */
.section-our-solution::before {
    content:'';
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:50%;
    height:100%;
    background: linear-gradient(104.68deg, #080110 11.93%, rgba(57, 4, 118, 0) 78.38%);
}
.section-our-solution-inner {
    position: relative;
    width: 100%;

    padding-top: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.05), 130px);
    padding-bottom: clamp(130px, calc(130px + (min(100vw, 1400px) - 800px) * 0.0333), 190px);
}

/* rotating image */
.our-solution-img {
    position: absolute;
    right: 0;
    overflow: hidden;

    top: clamp(80px, calc(80px + (min(100vw, 1400px) - 800px) * 0.0333), 100px);
    width: clamp(350px, calc(350px + (min(100vw, 1400px) - 800px) * 0.3333), 550px);
    height: clamp(350px, calc(350px + (min(100vw, 1400px) - 800px) * 0.3333), 550px);
}
.our-solution-img img {
    width:100%;
    height:auto;
    mix-blend-mode: plus-lighter;
    animation: rotateBackForth 2s ease-in-out infinite alternate;
    transform-origin: center;
}
@keyframes rotateBackForth {
    0% { transform: rotate(0); }
    100% { transform: rotate(45deg); }
}

.section-our-solution-inner .pre-heading {
    display: block;
    margin-bottom: 16px;
    font-weight: 400;
    letter-spacing: 1px;
    color: #C1A8FF;
    text-transform: uppercase;

    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.00333), 14px);
}
.section-our-solution h3 {
    font-weight: 300;
    letter-spacing: -5px;

    max-width: clamp(440px, calc(440px + (min(100vw, 1400px) - 800px) * 0.3583), 655px);
    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.0467), 76px);
    line-height: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * 0.0467), 84px);
}
.section-our-solution p {
    font-weight: 300;
    letter-spacing: 0;
    color: #fff;

    max-width: clamp(340px, calc(340px + (min(100vw, 1400px) - 800px) * 0.1917), 455px);
    margin-top: clamp(30px, calc(30px + (min(100vw, 1400px) - 800px) * 0.025), 45px);
    margin-bottom: clamp(25px, calc(25px + (min(100vw, 1400px) - 800px) * 0.025), 40px);
    font-size: clamp(14px, calc(14px + (min(100vw, 1400px) - 800px) * 0.00833), 19px);
    line-height: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.00667), 28px);
}



/****************************************
PAGE: CONTACT
****************************************/
.section-contact {
    position: relative;
    z-index: 2;
    background-image: url('images/bg-request-demo.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-color:#0D0E20;
    transform: translateY(0);
    will-change: transform, background-position;
    padding-bottom: 150px;
    /* bottom line glitch on FF */
    margin-bottom:-1px;
}
.section-contact-inner {
    max-width: 880px;
    padding-top: 50px;
    padding-bottom: 50px;
    will-change: transform;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap:50px;
}

/* section contact overlay gradient */
.section-contact::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0.59;
    background: linear-gradient(194.68deg, #080110 11.93%, rgba(57, 4, 118, 0) 78.38%);
}
.section-contact-title {
    margin-top: 130px;
    color: #fff;
}
.section-contact-title h2 {
    font-weight: 300;
    letter-spacing: -5px;
  
    line-height: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * 0.05333), 90px);
    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.05333), 82px);
    margin-bottom: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.02), 32px);
}
.section-contact-inner p {
    font-weight: 300;

    font-size: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.00833), 21px);
    line-height: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.01), 30px);
}

.contact-forms-wrapper {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;

    background-color: transparent;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);

    margin-top: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.0667), 90px);
}
.contact-form-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 75px;
    font-weight: 400;
    letter-spacing: 0px;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.5);
    background: transparent;

    font-size: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.005), 21px);
    line-height: clamp(26px, calc(26px + (min(100vw, 1400px) - 800px) * 0.004), 30px);
}
.contact-form-tab:hover {
    color: rgba(255,255,255,0.8);
    text-decoration: underline;
}
.contact-form-tab.active {
    pointer-events: none;
    color: rgba(255,255,255,0.8);
    background: linear-gradient(126.84deg, rgba(120, 91, 191, 0.8) 2.86%, rgba(120, 91, 191, 0) 172.58%);
}
.contact-form-wrapper {
    flex-basis: 100%;
    padding: 50px 50px 70px 50px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* section offices */
.section-offices {
    position: relative;
    background-color: #fff;
    display: block;
}
.section-offices-inner {
    margin-top: 90px;
    margin-bottom: 150px;
}

.office-locations-wrapper {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    margin-left: auto;
    padding:0;
    margin:0;
}
h2.offices-heading {
    font-weight: 300;
    letter-spacing: -5px;
    color: #0D0E20;
    margin: 0;

    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.05333), 82px);
    line-height: clamp(55px, calc(55px + (min(100vw, 1400px) - 800px) * 0.05333), 90px);
    padding-top: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.0833), 150px);
}
.office-location-names {
    position: absolute;
    top:50%;
    max-width: 250px;
    align-self: flex-start;
    font-size: 19px;
    font-weight: 400;
    color: #0D0E20;
}
@media (max-width: 1075px) {
    .office-location-names { display:none; }
}
.office-location-names span {
    display: block;
}
.office-locations-right {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-height: 565px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-left: auto;
    margin-right:40px;
}
.office-locations-right-inner {
    position:relative;
    margin-left:auto;
    max-width: 850px;
}
.office-location {
    width: 100%;
    justify-content: flex-start;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 30px;
}
.office-location-02 {
    position: absolute;
    top:auto;
    bottom:0;
    height:100%;
    overflow:hidden;
    transform:translateY(100%);

    background: linear-gradient( to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,1) 25%,
    rgba(255,255,255,1) 100%);
}
.office-location .office-img {
    border-radius: 8px;
    flex: none;
    width: clamp(375px, calc(375px + (min(100vw, 1400px) - 800px) * 0.0833), 425px);
    height: clamp(497px, calc(497px + (min(100vw, 1400px) - 800px) * 0.113), 565px);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.office-location-01 .office-img {
    background-image: url('images/contact-amsterdam.jpg');
}
.office-location-02 .office-img {
    background-image: url('images/contact-houston.jpg');
}
.office-location .office-txt {
    flex: 1;
    min-width: 0;
    justify-content: center;
    align-content: center;
    font-weight: 300;
    letter-spacing: -0.75px;
    color: #160F50;

    font-size: clamp(20px, calc(20px + (min(100vw, 1400px) - 800px) * 0.01), 26px);
    line-height: clamp(28px, calc(28px + (min(100vw, 1400px) - 800px) * 0.01333), 36px);
}
.office-location .office-txt p {
    margin-bottom: 25px;
}
.office-location .office-txt a,
.office-mob-location .office-mob-txt a {
    position:relative;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.5px;
    text-decoration: none;
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}
.office-location .office-txt a::after,
.office-mob-location .office-mob-txt a::after {
    content: '';
    position:absolute;
    top:5px;
    right:-15px;
    width: 8px;
    height: 12px;
    display: block;
    margin-left: 10px;

    background-image: url('images/button-arrow-blue.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    transition:.15s ease;
}
.office-location .office-txt a:hover::after {
    transform:translateX(8px);
}

/* contact page linkedin */
.section-contact-linkedin {
    display: flex;
    align-items: center;
    justify-content: center;
    height:130px;
    background: linear-gradient(73.09deg, #0A0130 10.34%, #311675 68.5%);
}
.section-contact-linkedin a {
    display: inline-flex;
    align-items: center;
    gap: 16px;

    font-weight: 400;
    font-size: 19px;
    line-height: 28px;
    letter-spacing: 0px;
    color:#fff;
    text-decoration: none;
}
.section-contact-linkedin a span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width:50px;
    height:50px;
    border-radius: 100px;

    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
}

/* contact mobile content */
.office-mob-location {
    display: block;
    max-width: 500px;
    margin: 0 auto;
}
.office-mob-location:first-of-type {
    margin-bottom: 85px;
}
.office-mob-location span {
    font-size: 18px;
    line-height: 20px;
    color: #0D0E20;
}
.office-mob-location img {
    width: 100%;
    height: auto;
    margin-top: 25px;
    margin-bottom: 30px;
}
.office-mob-location .office-mob-txt p {
    font-size: 22px;
    line-height: 31px;
    letter-spacing: -3%;
    margin-top: 0;
}





/****************************************
GRAVITY FORMS
****************************************/
.gform_wrapper {
    width:100% !important;
}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper textarea {
    font-family: Sora !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #7D85AA70 !important;
    resize: none !important;
    padding: 30px 0 10px 0 !important;
    height:auto !important;
    margin-bottom: -30px !important;
    transition: .25s ease !important;

    font-size:24px !important;
    color:#fff !important;
}
.gform_wrapper textarea {
    max-height: 160px !important;
}
.gform_wrapper input[type="text"]:hover,
.gform_wrapper input[type="email"]:hover,
.gform_wrapper input[type="url"]:hover,
.gform_wrapper input[type="tel"]:hover,
.gform_wrapper input[type="number"]:hover,
.gform_wrapper textarea:hover,
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper textarea:focus {
    border-color: #7D85AA !important;
    outline: none !important;
}
.gform_wrapper .gform-field-label {
    font-weight: 500 !important;
    font-size: 18px !important;
    line-height: 110% !important;
    letter-spacing: -.5px !important;
    color: #fff !important;

    display: block !important;
    transform: translateY(25px) !important;
    pointer-events: none !important;
}
@media (max-width: 800px) {
    .gform_wrapper .gform-field-label {
        font-size: 14px !important;
    }
}
.gform_wrapper .gfield--type-html,
.gform_wrapper .gfield--type-html a {
    font-weight: 300 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    letter-spacing: 0.5px !important;
    color: #D8D6EA !important;
    margin-bottom: -20px !important;
}
.gform_wrapper .gfield--type-html:last-of-type {
    font-weight: 200 !important;
    font-size: 14px !important;
    color: #fff !important;
    margin-top: 10px !important;
}
/* hide (Required) label */
.gform_wrapper .gfield_required_text {
    display: none !important;
}
/* submit button */
.gform_wrapper .gform_footer {
    position: relative !important;
    background-color:#fff !important;
    max-width:max-content !important;
    border-radius:100px !important;
    line-height:0 !important;

    background-image: url('images/button-arrow-blue.svg') !important;
    background-size: auto auto !important;
    background-repeat: no-repeat !important;
    background-position: center right 18px !important;

    transition:.25s ease !important;
}
.gform_wrapper .gform_footer:hover {
    background-color: #F2ECFF !important;
    background-position: center right 15px !important;
}
.gform_wrapper .gform_footer .gform_button {
    position:relative !important;
    border:none !important;
    height:48px !important;

    font-family: Sora !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    line-height: 24px !important;
    letter-spacing: -0.5px !important;
    padding:0 35px 0 20px !important;
    cursor: pointer !important;

    background: linear-gradient(90deg, #503399 0%, #8655FF 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}
.gform_wrapper .gform_footer:hover .gform_button {
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    background: none !important;
    color: #503399 !important;
}
/* error message */
.gform_wrapper .gform_validation_errors {
    border-color: rgba(255,255,255,0.25) !important;
}
.gform_wrapper .gform_validation_errors h2 {
    line-height: 110% !important;
    letter-spacing: -0.75px !important;
    padding: 0px 0px 0px 0 !important;
    margin:0 !important;
    color: #fff !important;

    font-size: clamp(24px, calc(24px + (min(100vw, 1400px) - 800px) * 0.0183), 35px) !important;
}
.gform_wrapper .gform_validation_errors span {
    color: #fff !important;
    border-color: #fff !important;
}
.gform_wrapper .gfield_validation_message {
    transform:translateY(27px) !important;
    opacity:.75 !important;
    font-style: italic !important;
    color: rgba(255,255,255,0.75) !important;
}
/* no outline */
.gform_wrapper input,
.gform_wrapper textarea {
    outline: none !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.gform_wrapper .form-privacy {
    font-weight: 300 !important;
    font-size: 14px !important;
    letter-spacing: 0.5px !important;
    color: #fff !important;
    margin-top: 15px;
}
.gform_wrapper .form-privacy a {
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: underline;
    color: #fff !important;
}



/****************************************
ADJUSTMENTS FOR:
/our-solution
/industries
/about-us
/resources
/contact-us
****************************************/
/* joint titles in main section always occupy 4 lines total */
.section-main h1.title-four-lines {
    display: block;
    margin-bottom: -50px;

    /* 4 lines of H1, matching line-height scaling */
    min-height: clamp(240px, calc(4 * 60px + (min(100vw, 1400px) - 800px) * 0.293332), 440px);
}

.page-template-page-our-solution .section-main h1,
.page-template-page-industries .section-main h1,
.page-template-page-about-us .section-main h1 {
    max-width: 1020px;
    font-weight: 300;
    line-height:110%;
    letter-spacing: clamp(-4.75px, calc(-4.75px + (min(100vw, 1400px) - 800px) * 0), -4.75px);

    font-size: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.053333), 82px);
}


/* /our-solution */
.page-template-page-our-solution .section-02::before {
    background: url('images/bg-section-02-our-solution.png') no-repeat right / cover;
    opacity: 0.84;
}
.page-template-page-our-solution .section-02-image-container {
    width: clamp(250px, calc(250px + (min(100vw, 1400px) - 800px) * 0.375), 400px);
    height: clamp(199px, calc(199px + (min(100vw, 1400px) - 800px) * 0.19875), 318px);
}
.page-template-page-our-solution .section-02-inner h2 {
    max-width: 882px;
}

/* /industries */
.page-template-page-industries .section-02::before {
    background: url('images/bg-section-02-industries.png') no-repeat left / cover;
    opacity: 0.53;
}
.page-template-page-industries .section-02-image-container {
    width: clamp(250px, calc(250px + (min(100vw, 1400px) - 800px) * 0.269), 403px);
    height: clamp(225px, calc(225px + (min(100vw, 1400px) - 800px) * 0.225), 360px);
}
.page-template-page-industries .section-02-inner h2 {
    max-width: 870px;
}
/* hide Our prominent industry advisory board logos section for now */
.page-template-page-industries .section-logos { display: none; }

/* /about-us */
.page-template-page-about-us .section-02::before {
    background: url('images/bg-section-02-about-us.png') no-repeat left / cover;
    opacity: 0.53;
}
.page-template-page-about-us .section-02-image-container {
    width: clamp(250px, calc(250px + (min(100vw, 1400px) - 800px) * 0.192), 381px);
    height: clamp(283px, calc(283px + (min(100vw, 1400px) - 800px) * 0.25), 433px);
}

/* /resources */
.section-main h1.title-four-lines {
    display: block;
    margin-bottom: -50px;

    /* 4 lines of H1, matching line-height scaling */
    min-height: clamp(240px, calc(4 * 60px + (min(100vw, 1400px) - 800px) * 0.293332), 440px);
}
.page-resources .title-four-lines {
    max-width:1250px !important;
}



/****************************************
3-COLUMN BLOG POST LOOP (index, /resources)
****************************************/
#post-results .posts-grid,
.posts-grid .grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, calc(16px + (100vw - 800px) * 0.02333), 30px);
}
.post-card {
    margin-bottom: 40px;
    font-family: inherit;
}
.post-image-wrapper {
    position: relative;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
}
.post-image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: 1s ease;
}
.post-card:hover .post-image-wrapper img {
    transform: scale(1.05);
}
.post-tag-overlay {
    position: absolute;
    top: 10px;
    left: 10px;

    font-weight: 500;
    letter-spacing: 0;

    border-radius: 5px;
    border: 1px solid #fff;
    padding: 4px 5px;

    backdrop-filter: blur(20.505619049072266px);
    box-shadow: 14.65px 17.58px 29.29px 0px #0000000D;
    background-color: #F7F7F733;

    font-size: clamp(8px, calc(8px + (100vw - 800px) * 0.00667), 12px);
}
.post-tag-overlay a {
    color: #fff;
    text-decoration: none;
}
.post-tag-overlay a:hover {
    text-decoration: underline;
}
.post-meta {
    font-weight: 400;
    letter-spacing: 0;
    color: #7D85AA;

    font-size: clamp(8px, calc(8px + (100vw - 800px) * 0.00667), 12px);
    margin-top: clamp(16px, calc(16px + (100vw - 800px) * 0.015), 25px);
    margin-bottom: clamp(8px, calc(8px + (100vw - 800px) * 0.00333), 10px);
}
.post-title {
    font-weight: 400;
    letter-spacing: 0;
    color: #0D0E20;

    font-size: clamp(12px, calc(12px + (100vw - 800px) * 0.015), 19px);
    line-height: clamp(18px, calc(18px + (100vw - 800px) * 0.01667), 28px);
    margin-bottom: clamp(12px, calc(12px + (100vw - 800px) * 0.01333), 20px);
}
.post-title a {
    text-decoration: none;
    color: inherit;
}
.post-readmore .read-more-link {
    position:relative;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: -0.5px;

    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}
.post-readmore .read-more-link::after {
    content: '';
    position:absolute;
    top:5px;
    right:-15px;
    width: 8px;
    height: 12px;
    display: block;
    margin-left: 10px;

    background-image: url('images/button-arrow-blue.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    transition:.15s ease;
}
.post-readmore .read-more-link:hover::after {
    transform: translateX(8px);
}
.post-readmore:hover {
    text-decoration: underline;
}
@media (max-width: 1200px) {
    .post-readmore .read-more-link {
        font-size: 16px;
    }
    .post-readmore .read-more-link::after {
        top: 4px;
        right: -14px;
        width: 7px;
    }
    .post-readmore .read-more-link:hover::after {
        transform: translateX(5px);
    }
}
@media (max-width: 1000px) {
    .post-readmore .read-more-link {
        font-size: 14px;
    }
    .post-readmore .read-more-link::after {
        top: 3px;
        width: 6px;
    }
}


/****************************************
PAGE: ARCHIVE
****************************************/
.section-archive {
    padding-top: clamp(120px, calc(120px + (min(100vw, 1400px) - 800px) * 0.1333), 200px);
    padding-bottom: clamp(100px, calc(100px + (min(100vw, 1400px) - 800px) * 0.0833), 150px);
}

.section-archive h1 {
    font-weight: 400;
    letter-spacing: -2px;

    font-size: clamp(28px, calc(28px + (min(100vw, 1400px) - 800px) * 0.0233), 42px);
    line-height: clamp(36px, calc(36px + (min(100vw, 1400px) - 800px) * 0.0233), 50px);
}
.section-archive .showing span {
    font-weight: 500;
    color: #8655FF;
    margin: 5px 0 0 3px;
    display: block;

    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.00667), 16px);
}
.section-archive .showing span.showing-nick {
    color: #7D85AA;
    margin-bottom:20px;
}
.section-archive .posts-grid {
    margin-top: clamp(50px, calc(50px + (min(100vw, 1400px) - 800px) * 0.0417), 75px);
}
.section-archive article img {
    margin:0;
}
.section-archive .post-pagination {
    margin-top:50px;
}



/****************************************
/resources popup modal
****************************************/
article iframe {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 50px auto 0 auto;
    max-width: 750px;
}

article .gform_wrapper {
    position: relative;
    width: 100%;
    max-width: 650px;
    max-height: 100%;
    overflow: auto;
    padding: 70px 50px;
    margin: 50px auto 0 auto;

    border-radius: 8px;
    backdrop-filter: blur(20px);
    background: #5D3CAE;
}
article .gform_confirmation_wrapper {
    padding: 0px 0px;
    background: transparent;
}
article .gform_wrapper h2.gform_title {
    font-weight: 400;
    font-size: 32px;
    line-height: 110%;
    letter-spacing: -1.5px;
    color: #fff;
    margin-bottom:20px;
}

/* 'mandatory field' */
article .gform_wrapper .gfield--type-html:first-of-type {
    font-weight: 300 !important;
    font-size: 12px !important;
    letter-spacing: 0 !important;
    color: #D8D6EA !important;
    margin-bottom: 0px !important;
}

/* view privacy policy */
article .gform_wrapper .gfield--type-html:last-of-type {
    font-weight: 300 !important;
    font-size: 14px !important;
    letter-spacing: 0.5px !important;
    color: #fff !important;
    margin-top: 20px !important;
}
article .gform_wrapper .gfield--type-html:last-of-type a {
    font-weight: 500 !important;
    text-decoration: underline;
    font-size: 14px !important;
    color: #fff !important;
  
    /* override link gradient background */
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: initial !important;
}

article .gform_wrapper .gfield--type-text .gform-field-label,
article .gform_wrapper .gfield--type-email .gform-field-label {
    font-weight: 500 !important;
    font-size: 14px !important;
    letter-spacing: -.75px !important;
    transform: translateY(25px) !important;
}
article .gform_wrapper .gfield--type-text,
article .gform_wrapper .gfield--type-email {
    margin-top: -7px;
}
article .gform_wrapper .gfield--type-text input,
article .gform_wrapper .gfield--type-email input {
    font-weight: 300 !important;
    font-size: 19px !important;
    color: #E6E6E6 !important;
    height: 80px !important;
    padding-bottom: 0 !important;
}

/* checkbox */
article .gform_wrapper .gfield--type-checkbox {
    margin-top: 30px;
    margin-bottom: 20px;
}
article .gform_wrapper .resource-modal fieldset {
    border: none;
    padding: 0;
    margin: 0;
}
article .gform_wrapper .gchoice {
    position: relative;
    margin-top: 20px;
}
article .gform_wrapper .gchoice label {
    position: absolute;
    top: -24px;
    left: 35px;
    border: none;
    padding: 0;
    margin: 0;

    font-weight: 300 !important;
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.5px !important;
}
article .gform_wrapper .gfield_checkbox input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #7D85AA;
    border-radius: 2px;
    background-color: transparent;
    cursor: pointer;
    position: relative;
}
article .gform_wrapper .gfield_checkbox input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 7px;
    width: 4px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
/* hide stubborn legend */
article .gform_wrapper .resource-modal fieldset legend {
    opacity: 0;
    pointer-events: none;
}

/* validation messages */
article .gform_wrapper .gfield_validation_message {
    font-size: 13px !important;
    margin: 10px 0 5px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
article .gform_wrapper .gform_validation_errors {
    position: relative;
    border: 1px solid rgba(255,255,255,0.25) !important;
    border-radius: 2px !important;
    margin-bottom: 40px !important;
    padding: 20px 20px 20px 50px !important;
    background: transparent !important;
}
article .gform_wrapper .gform_validation_errors h2 {
    font-size: 26px !important;
    font-weight: 500 !important;
}
article .gform_wrapper .gform_validation_errors .gform-icon {
    position: absolute;
    left: 12px !important;
}
article .gform_wrapper .gform-icon::before {
    content: "\24D8";
}


/* 'view now' button */
article .gform_wrapper .gform_footer {
    padding: 0 !important;
    margin-top: 50px !important;
}
article .gform_wrapper .gform_footer .gform_button {
    margin: 0 !important;
}

/* download link adjustments (below PDF embed) */
.gform_confirmation_message a.button-blue {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    text-decoration: none !important;
}
.gform_confirmation_message a.button-blue span {
  /* override link gradient background */
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: initial !important;
}

@media (max-width: 800px) {

    article .gform_wrapper h2.gform_title {
        font-size: 26px;
        letter-spacing: -1px;
        color: #fff;
        margin-bottom: 40px;
    }
    article .gform_wrapper .gform_validation_errors {
        margin-bottom: 40px;
        padding: 20px 20px 20px 50px;
    }
    article .gform_wrapper .gform_validation_errors h2 {
        font-size: 20px !important;
    }

    article .gform_wrapper .gchoice label {
        top: -22px;
        left: 30px;
    
        font-size: 12px !important;
        line-height: 16px !important;
        letter-spacing: 0.25px !important;
    }

}

@media (max-width: 500px) {

    article .gform_wrapper {
        padding: 50px 20px;
    }

    article .gform_wrapper h2.gform_title {
        font-size: 22px;
        letter-spacing: -0.5px;
    }
    article .gform_wrapper .gform_validation_errors h2 {
        font-size: 16px !important;
    }
    article .gform_wrapper .gform_validation_errors {
        margin-bottom: 40px;
        padding: 10px 10px 10px 40px;
    }

}

@media (max-width: 410px) {
  
    article .gform_wrapper .gfield--type-checkbox .gfield_validation_message {
        margin-top: 20px !important;
    }
      
}




/****************************************
JOBS listings
****************************************/
.indurex-jobs-divider {
    width:100%;
    height:2px;
    background-color:#fff;
    margin-top:30px;
    opacity:.75;
}
.indurex-jobs-wrapper {
    max-width: 525px;
    margin-top: 50px;
    position: relative;
    margin-bottom: clamp(-150px, calc(-150px + (min(100vw, 1400px) - 800px) * 0.5), -500px);
}
.indurex-jobs-heading {
    font-size: clamp(16px, calc(16px + (min(100vw, 1400px) - 800px) * 0.01), 26px);
    font-weight: 600;
    color: #fff;
    margin-bottom: 15px;
}
.indurex-jobs-scroll-container {
    overflow: visible;
}
.indurex-jobs-list {
    display: flex;
    flex-direction: column;
}
.indurex-job-item {
    margin: 3.5px 0;
    display: none;
    opacity: 0;
    transition: opacity 0.2s ease;
}
.indurex-job-item.is-visible {
    display: block;
    opacity: 1;
}
.indurex-job-title,
.indurex-job-title a {
    position: relative;
    color:#fff;
    font-size: clamp(12px, calc(12px + (min(100vw, 1400px) - 800px) * 0.01), 17px);
    line-height: clamp(18px, calc(18px + (min(100vw, 1400px) - 800px) * 0.015), 27px);
}
.indurex-job-title a::after {
    content: '';
    position:absolute;
    top:3px;
    right:-11px;
    width: 6px;
    height: 10px;
    display: inline-block;
    margin-left: 10px;
    background-image: url('images/button-arrow-white.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.2s ease;
}
.indurex-job-title a:hover::after {
    transform: translateX(2.5px);
}

.indurex-jobs-arrows {
    display: flex;
    flex-direction: row;
    gap: 3px;
    position: absolute;
    right: 0;
    top: -5px;
}
.indurex-arrow {
    cursor: pointer;
}
.indurex-arrow.is-inactive {
    opacity: 0.3;
    cursor: default;
    pointer-events: none;
}
.indurex-arrow-up,
.indurex-arrow-down {
    position: relative;
    z-index: 0;
    overflow: hidden;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius:100px;
    padding:0 0 0 1px;
    height:28px;
    width:28px;
    text-decoration: none;

    background-color: #fff;
    border-color:transparent;

    transition:.2s ease;
}
.indurex-arrow-up:hover,
.indurex-arrow-down:hover {
    background-color:#F2ECFF;
}
.indurex-arrow-up::after,
.indurex-arrow-down::after {
    content: '';
    width: 11px;
    height: 11px;
    display: block;
    margin-left: 0px;

    background-image: url('images/button-arrow-blue.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 2.5px center;
}
.indurex-arrow-up::after {
    transform: scaleX(-1);
}
.indurex-arrow-up::before,
.indurex-arrow-down::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 100px;
    background: linear-gradient(90deg, #503399 0%, #8655FF 100%);
    opacity: 0;
    transition: opacity 1s ease;
}

@media (max-width: 800px) {
    .indurex-jobs-wrapper {
        margin-bottom: 0;
    }
    .indurex-jobs-scroll-container {
        overflow: visible;
        height: auto !important;
    }
    .indurex-job-item {
        margin: 7.5px 0;
        display: block !important;
        opacity: 1 !important;
    }
    .indurex-jobs-arrows {
        display: none !important;
    }
}