/**
Theme Name: Technicalities 2026
Author: TechnicalitiesPlus Inc
Author URI: https://www.technicalities.ca
Description: 2026 version of our agency website
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: technicalities-2026
Template: astra
*/

/* VARIABLES AND MAIN CLASSES */
:root {
    /* Color Styles */
    --color-bdg: #F8F3EA;
    --color-orange-primary: #EC7357;
    --color-orange-hover: #F4CDBE;
    --color-orange-active: #F3B9A8;
    --color-dark-primary: #121018;
    --color-dark-light: #5B575B;
    --color-white-primary: #FFFFFF;
    --color-white-80: rgba(255, 255, 255, 0.8);
    --color-white-60: rgba(255, 255, 255, 0.6);
    --color-white-10: rgba(255, 255, 255, 0.1);
    --color-purple-primary: #24113F;
    --color-purple-accent: #5A2CA0;
    --color-purple-light: #DED2F4;
    --color-purple-35: #24113F;
    --color-purple-45: #24113F;
    --color-purple-active-01: #C3B2E2;
    --color-purple-accent-02: #7151A8;
    --color-purple-active-02: #55309A;
    --color-green-primary: #679436;
    --color-beige-primary: #F8F3EA;
    --color-orange-hover-border: #EC7357;
    --color-purple-hover-border: #5A2CA0;

    /* Font Families */
    --font-mulish: 'Mulish', sans-serif;
    --font-merriweather: 'Merriweather', serif;
    --font-source-serif: 'Source Serif 4', serif;

    /* Font Sizes */
    --fs-mulish-14: 14px;
    --fs-mulish-16: 16px;
    --fs-mulish-20: 20px;

    --fs-merriweather-18: 18px;
    --fs-merriweather-30: 30px;
    --fs-merriweather-36: 36px;
    --fs-merriweather-60: 60px;
    --fs-merriweather-62: 62px;
    --fs-merriweather-77: 77px;
    --fs-merriweather-120: 120px;
    --fs-merriweather-140: 140px;
    --fs-headline: 92px;

    /* Font Weights */
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-bold: 700;
    --fw-extrabold: 800;
}

/* ==========================================================================
   GLOBAL HELPERS
   ========================================================================== */
footer a {
    color: var(--color-white-60) !important;
}

.site-footer-below-section-2 {
    display: flex;
    gap: 32px;
}

.site-footer-section>* {
    margin-bottom: 0;
}

.ast-logo-title-inline .ast-site-identity {
    padding: 0em 0;
}

body {
    background-color: var(--color-bdg) !important;
    margin: 0;
    padding: 0;
}

.ast-container,
.ast-container-fluid {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
}
.ast-above-header.ast-above-header-bar, .ast-header-break-point #masthead.site-header .ast-above-header-bar {
    padding-left: 3%;
    padding-right: 3%;
    padding-top: 10px;
    padding-bottom: 10px;
}
/* ==========================================================================
   TEXT SPAN COLOR UTILITIES
   ========================================================================== */

.span-purple {
    color: var(--color-purple-accent);
}

.span-green {
    color: var(--color-green-primary);
}

/* ==========================================================================
   COLORS UTILITIES
   ========================================================================== */

.purple-bdg {
    background: var(--color-purple-accent);
}

.white {
    color: var(--color-white-primary) !important;
}

/* ==========================================================================
   TYPOGRAPHY — Headline / Badge / Lead body text
   ========================================================================== */
.text-headline {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-size: var(--fs-headline);
    /* 92px */
    font-style: italic;
    font-weight: var(--fw-regular);
    line-height: 1.15;
    letter-spacing: -4px;
    color: var(--color-purple-primary);
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.18);
}

.text-headline-2 {
    color: var(--color-purple-primary);
    text-align: center;
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-size: clamp(2.75rem, 5vw + 1rem, 5.75rem);
    font-style: italic;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -4px;
}

.text-badge {
    font-family: var(--font-mulish);
    font-size: var(--fs-mulish-20);
    font-weight: var(--fw-bold);
    line-height: 24px;
    letter-spacing: 0px;
    text-transform: uppercase;
}

.text-lead {
    font-family: var(--font-mulish);
    font-size: var(--fs-mulish-20);
    font-weight: var(--fw-regular);
    line-height: 32.5px;
    letter-spacing: 0px;
    color: var(--color-dark-light);
}

/* ==========================================================================
   BUTTONS — Base shared styles + color variants (orange / purple / outline)
   ========================================================================== */

/* Base Button Styles */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-mulish);
    font-size: var(--fs-mulish-16);
    font-weight: var(--fw-extrabold);
    line-height: 24px;
    text-decoration: none;
    padding: 12px 32px;
    min-height: 47px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.25s ease-in-out;

    border-radius: 25px 40px 20px 35px / 35px 20px 40px 25px;
}

.light-purple-bdg {
    background-color: var(--color-purple-accent);
}

/* Orange Button */
.btn-orange {
    background-color: var(--color-orange-primary);
    color: var(--color-white-primary);
}

.btn-orange:hover {
    background-color: var(--color-orange-hover);
    color: var(--color-white-primary);
    border-color: var(--color-orange-hover-border);
}

/* Purple Button */
.btn-purple {
    background-color: var(--color-purple-primary);
    color: var(--color-white-primary);
}

.btn-purple:hover {
    background-color: var(--color-purple-accent);
    color: var(--color-white-primary);
    border-color: var(--color-purple-hover-border);
}

/* Transparent / Outline Button */
.btn-transparent {
    background-color: transparent;
    color: var(--color-purple-primary);
    border-color: var(--color-purple-primary);
}

.btn-transparent:hover {
    background-color: var(--color-purple-primary);
    color: var(--color-white-primary);
}


/* ==========================================================================
   BLOB BUTTON — Gutenberg wp-block-button variant
   ========================================================================== */

.wp-block-button.btn-blob-purple {
    background: none !important;
}

.wp-block-button.btn-blob-purple>.wp-block-button__link {
    color: var(--color-white-primary) !important;
    font-family: var(--font-mulish);
    font-size: var(--fs-mulish-20);
    font-weight: var(--fw-extrabold);
    line-height: 24px;
    text-decoration: none !important;
    padding: 12px 40px 20px 40px !important;
    border: none !important;
    border-radius: 0 !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 197 74' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M13.4016 5.50318C35.3721 -9.55249 89.4003 11.1155 128.659 10.5788C152.583 10.2517 175.706 4.5792 189.353 16.3936C203.001 28.2079 196.143 56.3416 168.246 63.4358C140.349 70.53 123.501 63.6234 93.612 67.472C63.7232 71.3206 32.53 79.7723 16.0078 67.2739C-0.514455 54.7754 -8.56886 20.5588 13.4016 5.50318Z' fill='%2324113F'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-color: transparent !important;

    min-width: 197px !important;
    min-height: 76px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    transition: all 0.25s ease-in-out !important;
    overflow: visible !important;
}

.wp-block-button.btn-blob-purple>.wp-block-button__link:hover {
    background-color: transparent !important;
    color: var(--color-purple-primary) !important;

    background-size: 100% 100% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 203 80' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M13.4016 5.50318C35.3721 -9.55249 89.4003 11.1155 128.659 10.5788C152.583 10.2517 175.706 4.5792 189.353 16.3936C203.001 28.2079 196.143 56.3416 168.246 63.4358C140.349 70.53 123.501 63.6234 93.612 67.472C63.7232 71.3206 32.53 79.7723 16.0078 67.2739C-0.514455 54.7754 -8.56886 20.5588 13.4016 5.50318Z' fill='%23DED2F4' stroke='%2324113F' stroke-width='2'/%3E%3C/svg%3E") !important;
}

.wp-block-button.btn-blob-purple>.wp-block-button__link::after {
    content: "";
    display: inline-block;
    width: px;
    height: 20px;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.wp-block-button.btn-blob-purple>.wp-block-button__link:hover::after {
    transform: translateX(5px);
}

.wp-block-button.btn-blob-purple>.wp-block-button__link::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: transform 0.25s ease-in-out;
}

.wp-block-button.btn-blob-purple>.wp-block-button__link:hover::after {
    transform: translateX(4px);
}


/* ==========================================================================
   BLOB BUTTON — Orange Outline variant ("Talk to Us")
   ========================================================================== */
.wp-block-button.btn-blob-orange-outline {
    background: none !important;
}

.wp-block-button.btn-blob-orange-outline>.wp-block-button__link {
    color: var(--color-purple-primary) !important;
    font-family: var(--font-mulish);
    font-size: var(--fs-mulish-20);
    font-weight: var(--fw-extrabold);
    line-height: 24px;
    text-decoration: none !important;
    padding: 12px 36px 16px 36px !important;
    border: none !important;
    border-radius: 0 !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 161 72' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M19.9306 13.0187C38.1397 -1.19389 71.8605 -2.90729 97.4152 8.44356C122.97 19.7944 143.581 14.89 153.15 27.924C162.718 40.958 146.917 58.1668 124.785 63.7952C102.654 69.4236 90.2089 61.2637 66.8062 63.4186C43.4034 65.5735 18.6142 72.4032 6.88128 58.4876C-4.85168 44.572 1.72153 27.2314 19.9306 13.0187Z' fill='none' stroke='%23EC7357' stroke-width='2'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-color: transparent !important;

    min-width: 157px !important;
    min-height: 68px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease-in-out !important;
    overflow: visible !important;
}

.wp-block-button.btn-blob-orange-outline>.wp-block-button__link:hover {
    color: var(--color-white-primary) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 161 72' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M19.9306 13.0187C38.1397 -1.19389 71.8605 -2.90729 97.4152 8.44356C122.97 19.7944 143.581 14.89 153.15 27.924C162.718 40.958 146.917 58.1668 124.785 63.7952C102.654 69.4236 90.2089 61.2637 66.8062 63.4186C43.4034 65.5735 18.6142 72.4032 6.88128 58.4876C-4.85168 44.572 1.72153 27.2314 19.9306 13.0187Z' fill='%23EC7357' stroke='%23EC7357' stroke-width='2'/%3E%3C/svg%3E") !important;
}


/* ==========================================================================
   HERO SECTION — left column / image column layout
   ========================================================================== */
.hero-left-side {
    height: 100%;
    padding: 5% 3%;
}

.hero-image {
    width: 383px !important;
    min-width: 383px !important;
    max-width: 383px !important;
    height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.hero-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

.hero-section .wp-block-group.is-layout-flex {
    align-items: stretch !important;
}

.hero-body {
    max-width: 1096px;
}

.main-header-menu .menu-item.current-menu-item>a.menu-link {
    color: #17141e !important;
}

/* ==========================================================================
   HEADER — Main CTA "blob" button
   ========================================================================== */

.main-header-menu {
    display: flex !important;
    align-items: center !important;
}

.main-header-menu>.menu-item {
    display: inline-flex;
    align-items: center;
    line-height: normal !important;
}

.main-header-menu .menu-item>a.menu-link {
    position: relative;
    font-family: var(--font-mulish);
    font-weight: var(--fw-extrabold);
    color: var(--color-dark-primary);
    text-decoration: none;
    padding-bottom: 0px;
    transition: color 0.25s ease-in-out;
}

.main-header-menu .menu-item>a.menu-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background-color: var(--color-orange-primary) !important;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}

.main-header-menu .menu-item>a.menu-link:hover {
    color: var(--color-orange-primary) !important;
}

.main-header-menu .menu-item>a.menu-link:hover::after {
    transform: scaleX(1);
}

.main-header-menu .menu-item.current-menu-item>a.menu-link {
    color: var(--color-orange-primary);
}

.main-header-menu .menu-item.current-menu-item>a.menu-link::after {
    transform: scaleX(1);
    background-color: var(--color-purple-primary);
}

.main-header-menu .menu-item>a.menu-link:focus-visible {
    outline: 2px solid var(--color-orange-primary);
    outline-offset: 4px;
    border-radius: 2px;
}

/* ==========================================================================
   HEADER — Custom Orange SVG Button Nav (Talk To Us)
   ========================================================================== */

.main-header-menu .menu-item.orange-button-nav {
    margin-left: 10px;
    padding: 0 !important;
    background: none !important;
}

.main-header-menu .menu-item.orange-button-nav>a.menu-link::after,
.main-header-menu .menu-item.orange-button-nav>a.menu-link:hover::after,
.main-header-menu .menu-item.orange-button-nav.current-menu-item>a.menu-link::after {
    display: none !important;
}

.main-header-menu .menu-item.orange-button-nav>a.menu-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 120px !important;
    min-height: 54px !important;
    padding: 9px 19px 14px 23px !important;
    font-weight: var(--fw-extrabold) !important;
    color: var(--color-white-primary) !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='121' height='48' viewBox='0 0 121 48' fill='none'%3E%3Cpath d='M105.391 38.4311C91.3018 48.5692 65.1903 49.8209 45.3912 41.7615C25.5922 33.7022 9.63553 37.214 2.21437 27.9411C-5.20679 18.6683 7.01482 6.39881 24.1485 2.37005C41.2822 -1.65871 50.9264 4.14045 69.0474 2.58409C87.1683 1.02773 106.359 -3.85901 115.457 6.03964C124.555 15.9383 119.479 28.293 105.391 38.4311Z' fill='%23EC7357'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-color: transparent !important;
    overflow: visible !important;
    transition: all 0.25s ease-in-out !important;
}

.main-header-menu .menu-item.orange-button-nav>a.menu-link:hover {
    color: var(--color-orange-primary) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 127 54' fill='none'%3E%3Cpath d='M105.391 38.4311C91.3018 48.5692 65.1903 49.8209 45.3912 41.7615C25.5922 33.7022 9.63553 37.214 2.21437 27.9411C-5.20679 18.6683 7.01482 6.39881 24.1485 2.37005C41.2822 -1.65871 50.9264 4.14045 69.0474 2.58409C87.1683 1.02773 106.359 -3.85901 115.457 6.03964C124.555 15.9383 119.479 28.293 105.391 38.4311Z' fill='%23F4CDBE' stroke='%23EC7357' stroke-width='2'/%3E%3C/svg%3E") !important;
    background-color: transparent !important;
    text-decoration: none !important;
}

/* ==========================================================================
   MOBILE MENU TRIGGER (HAMBURGER / CLOSE BUTTON BLOB)
   ========================================================================== */
.ast-mobile-menu-trigger-minimal {
    background-color: var(--color-orange-primary) !important;
    color: var(--color-purple-primary) !important;
    border: none !important;
    padding: 10px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.25s ease-in-out !important;
    border-radius: 40% 60% 65% 35% / 50% 45% 55% 50% !important;
}

.ast-mobile-menu-trigger-minimal:hover {
    background-color: var(--color-orange-hover) !important;
}

.ast-mobile-menu-trigger-minimal .mobile-menu-toggle-icon svg {
    fill: var(--color-purple-primary) !important;
    width: 22px !important;
    height: 22px !important;
}

.site-header-focus-item[data-section="section-header-mobile-trigger"] .ast-button-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

/* MOBILE MENU NAVIGATION OVERLAY / CONTENT */
.ast-mobile-header-content {
    background-color: var(--color-bdg) !important;
    padding: 40px 20px !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box !important;
}

body.ast-main-header-nav-open,
html.ast-main-header-nav-open {
    overflow: hidden !important;
    height: 100% !important;
}

#ast-mobile-site-navigation .main-header-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
}

#ast-mobile-site-navigation .main-header-menu .menu-item {
    width: 100% !important;
    border: none !important;
    margin: 0 !important;
}

#ast-mobile-site-navigation .main-header-menu .menu-item:not(.orange-button-nav)>a.menu-link {
    font-family: var(--font-mulish) !important;
    font-size: var(--fs-merriweather-30) !important;
    font-weight: var(--fw-bold) !important;
    color: var(--color-dark-light) !important;
    text-decoration: none !important;
    display: inline-block !important;
    padding: 4px 0 !important;
    transition: color 0.25s ease-in-out !important;
}

#ast-mobile-site-navigation .main-header-menu .menu-item>a.menu-link::after {
    display: none !important;
}

#ast-mobile-site-navigation .main-header-menu .menu-item:not(.orange-button-nav)>a.menu-link:hover,
#ast-mobile-site-navigation .main-header-menu .menu-item:not(.orange-button-nav).current-menu-item>a.menu-link {
    color: var(--color-purple-primary) !important;
}

#ast-mobile-site-navigation .main-header-menu .menu-item.orange-button-nav>a.menu-link {
    font-family: var(--font-mulish) !important;
    font-size: var(--fs-merriweather-30) !important;
    font-weight: var(--fw-bold) !important;
    color: white !important;
    margin-top: 20px !important;
    padding: 9px 48px 18px 48px !important;
    min-width: 160px !important;
    min-height: 90px !important;
    width: auto !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 125 52' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M105.391 38.4311C91.3018 48.5692 65.1903 49.8209 45.3912 41.7615C25.5922 33.7022 9.63553 37.214 2.21437 27.9411C-5.20679 18.6683 7.01482 6.39881 24.1485 2.37005C41.2822 -1.65871 50.9264 4.14045 69.0474 2.58409C87.1683 1.02773 106.359 -3.85901 115.457 6.03964C124.555 15.9383 119.479 28.293 105.391 38.4311Z' fill='%23EC7357'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.25s ease-in-out !important;
    text-decoration: none !important;
}

#ast-mobile-site-navigation .main-header-menu .menu-item.orange-button-nav>a.menu-link:hover {
    color: var(--color-orange-primary) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 127 54' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M105.391 38.4311C91.3018 48.5692 65.1903 49.8209 45.3912 41.7615C25.5922 33.7022 9.63553 37.214 2.21437 27.9411C-5.20679 18.6683 7.01482 6.39881 24.1485 2.37005C41.2822 -1.65871 50.9264 4.14045 69.0474 2.58409C87.1683 1.02773 106.359 -3.85901 115.457 6.03964C124.555 15.9383 119.479 28.293 105.391 38.4311Z' fill='%23F4CDBE' stroke='%23EC7357' stroke-width='2'/%3E%3C/svg%3E") !important;
}


/* ==========================================================================
   HERO SECTION 
 ========================================================================== */
.hero-section {
    background-color: var(--color-beige-primary);
    background-image:
        linear-gradient(rgba(36, 17, 63, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 17, 63, 0.05) 1px, transparent 1px);
    background-size: 40px 40px;
    background-position: center center;
    display: flex;
    flex-direction: row;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important
}

:root :where(.is-layout-constrained)> :last-child {
    margin: 0;
}

.entry-content.clear[data-ast-blocks-layout="true"] {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

.hero-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.hero-section>.wp-block-group.is-layout-flex {
    width: 100% !important;
    justify-content: space-between !important;
}

/* End of hero section */

/* ==========================================================================
   STATS SECTION — 4 color blocks with big number + label
   ========================================================================== */
.stats-section {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    align-items: stretch !important;
}

:root :where(.is-layout-constrained)>* {
    margin-block-start: 0px;
    margin-block-end: 0;
}

.stat-item {
    flex: 1 1 0;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-around !important;
    align-items: center !important;
    text-align: center;
    padding: 32px 20px 28px 20px !important;
    box-sizing: border-box !important;

    /* hover setup */
    position: relative;
    overflow: hidden;
    cursor: default;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        filter 0.35s ease;
}

.stat-item .stat-number-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.stat-item .stat-number {
    margin: 0 !important;
    font-family: var(--font-merriweather);
    font-style: italic;
    font-weight: var(--fw-regular);
    color: var(--color-bdg) !important;
    font-size: 52px !important;
    line-height: 1 !important;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.stat-item.stat-bcorp .stat-number {
    font-size: 38px !important;
    line-height: 1.05 !important;
    white-space: pre-line !important;
}

.stat-item .stat-label {
    position: relative !important;
    margin: 16px 0 0 0 !important;
    font-family: var(--font-mulish);
    color: var(--color-bdg) !important;
    font-size: 14px !important;
    font-weight: var(--fw-medium);
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    line-height: 1.4 !important;
    max-width: 240px;
    padding-bottom: 12px;
}

.stat-item .stat-label::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: var(--color-bdg);
    transform: translateX(-50%);
    transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.stat-item.stat-years .stat-label {
    text-transform: uppercase !important;
    letter-spacing: 1.3px !important;
}

.stat-item.stat-years {
    background-color: var(--color-purple-primary);
}

.stat-item.stat-retention {
    background-color: var(--color-orange-primary);
}

.stat-item.stat-revenue {
    background-color: var(--color-purple-accent);
}

.stat-item.stat-bcorp {
    background-color: var(--color-green-primary);
}

.stat-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 40%);
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

/* --- HOVER --- */
.stat-item:hover {
    transform: translateY(-6px);
    filter: brightness(1.08);
}

.stat-item:hover .stat-number {
    transform: scale(1.06);
}

.stat-item:hover .stat-label::after {
    width: 48px;
}

.stat-item:hover::before {
    opacity: 1;
}



/* End of stats section */
/* ==========================================================================
   REUSABLE LAYOUT SYSTEM 
   ========================================================================== */

.section-box {
    position: relative;
    width: 100%;
    padding: 100px 80px;
    box-sizing: border-box;
    overflow: hidden;
    padding: 100px 80px !important;
}

.section-box.bg-bdg {
    background-color: var(--color-bdg);
    margin: 0;
    max-width: 100%;
}

.section-box.dark-purple-bdg {
    background-color: var(--color-purple-primary);
    margin: 0;
    max-width: 100%;
}

.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.section-box.bg-purple {
    background-color: var(--color-purple-primary);
}

.section-box>.site-container,
.who-we-serve-content {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}

/* ==========================================================================
   WHO WE SERVE SECTION
   ========================================================================== */

.who-we-serve-section .decor-shape {
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.who-we-serve-section .decor-shape-1 {
    width: 900px;
    height: 380px;
    left: -100px;
    bottom: -180px;
    background: var(--color-purple-primary);
    transform: rotate(-18deg);
    opacity: 0.9;
}

.who-we-serve-section .decor-shape-2 {
    width: 500px;
    height: 260px;
    right: -80px;
    top: 40%;
    background: var(--color-purple-accent);
    border-radius: 40px;
    transform: rotate(29deg);
}

.who-we-serve-content {
    display: flex;
    align-items: start;
    flex-direction: column;
}

.who-we-serve-text .text-badge {
    color: var(--color-orange-primary);
    margin-bottom: 24px !important;
}

.who-we-serve-text {
    margin-bottom: 37px !important;
}

.who-we-serve-text .text-headline {
    margin-bottom: 32px !important;
    max-width: 84% !important;
}

.span-orange {
    color: var(--color-orange-primary);
}

.span-light-purple {
    color: var(--color-purple-light, '#DED2F4');
}

.who-we-serve-text .text-lead {
    margin: 0 !important;
    max-width: 90% !important;

}

.sector-cards {
    display: flex;
    flex-direction: row;
    gap: 32px;
    align-items: center;
    align-self: center;
}

.sector-card {
    background-color: var(--color-bdg);
    border: 2px solid transparent;
    padding: 40px;
}

.sector-card.card-green {
    border-color: var(--color-green-primary);
}

.sector-card.card-green:hover {
    background-color: color-mix(in srgb, var(--color-green-primary) 8%, var(--color-bdg));
}

.card-green .sector-item-dash {
    background-color: var(--color-orange-primary, '#EC7357');
}

.sector-card.card-orange {
    border-color: var(--color-orange-primary);
}

.sector-card.card-purple {
    border-color: var(--color-purple-accent);
    margin-left: 48px;
}

.sector-card.card-orange:hover {
    background-color: color-mix(in srgb, var(--color-orange-primary) 8%, var(--color-bdg));
}

.sector-card.card-purple:hover {
    background-color: color-mix(in srgb, var(--color-purple-accent) 8%, var(--color-bdg));
}

.sector-card-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

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

.sector-item-dash {
    width: 32px;
    height: 2px;
    flex-shrink: 0;
    background-color: var(--color-green-primary);
    margin: 0 !important;
}

.sector-item-text {
    margin: 0 !important;
    font-family: var(--font-merriweather);
    font-style: italic;
    font-weight: var(--fw-regular);
    font-size: 28px;
    line-height: 1.2;
    color: var(--color-dark-primary);
}



/* ==========================================================================
   WHO WE SERVE - DECORATIVE SVG SHAPES
   ========================================================================== */

.who-we-serve-section {
    position: relative;
    background-color: var(--color-bdg);
    overflow: hidden;
}

.who-we-serve-section .decor-shape {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    background-repeat: no-repeat;
}

.who-we-serve-section .decor-shape-left-bottom-purple {
    width: 380px;
    height: 220px;
    left: 0;
    bottom: 0;
    background-position: bottom left;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 695 280' fill='none'%3E%3Cpath d='M8.65517 2.18482C144.886 -26.6665 285.926 238.134 447.657 329.781C546.217 385.631 673.279 388.108 692.316 485.147C711.353 582.187 596.219 718.472 460.492 689.806C324.765 661.141 277.471 583.047 143.681 531.957C9.89008 480.867 -143.482 451.636 -172.121 343.956C-200.759 236.277 -127.576 31.0362 8.65517 2.18482Z' fill='%235A2CA0'/%3E%3C/svg%3E");
}

.decor-shape-left-bottom-green {
    width: 426px;
    height: 154px;
    left: 0;
    bottom: 0;
    background-position: bottom left;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 695 280' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M8.65517 2.18482C144.886 -26.6665 285.926 238.134 447.657 329.781C546.217 385.631 673.279 388.108 692.316 485.147C711.353 582.187 596.219 718.472 460.492 689.806C324.765 661.141 277.471 583.047 143.681 531.957C9.89008 480.867 -143.482 451.636 -172.121 343.956C-200.759 236.277 -127.576 31.0362 8.65517 2.18482Z' fill='%23679436'/%3E%3C/svg%3E");
    position: absolute;
}

.who-we-serve-section .decor-shape-right-dark-purple {
    width: 60.5%;
    min-width: 420px;
    height: 100%;
    right: 0;
    top: 0;
    bottom: 0;
    background-position: top right;
    background-size: 100% 100% !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 901 1072' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M1076.36 1779.5C999.728 1881.59 50.4909 1614.79 2.13699 1382.8C-46.2168 1150.81 741.559 1070.05 781.136 719.3C817.354 398.331 669.076 -70.314 370.137 -30.6999C289.138 -156.2 1022.33 -65.196 1099.64 104.801C1176.94 274.797 1110 622.98 1144.5 808.377C1179.01 993.774 1248.44 1164.7 1213.86 1296.26C1179.28 1427.82 1152.99 1677.42 1076.36 1779.5Z' fill='%2324113F'/%3E%3C/svg%3E");
}


/* ==========================================================================
   HOW WE WORK — DECORATIVE SHAPE & PROCESS CARDS
   ========================================================================== */
.entry-content p {
    margin-bottom: 5px;
}

.decor-shape-right-orange {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 17.7%;
    min-width: 220px;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 100% 100% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 432 1159' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M225.99 1969C100.062 1860.91 41.6883 1961.35 3.41981 1691.32C-34.8487 1421.29 260.536 977.994 269.279 796.387C278.022 614.779 -1.52509 106.449 80.9221 -58.8802C163.369 -224.21 460.98 -37.3909 545.392 163.532C629.804 364.455 591.18 641.988 616.192 857.483C641.204 1072.98 667.386 1793.29 605.62 1941.91C543.853 2090.52 323.775 2033.21 225.99 1969Z' fill='%23EC7357'/%3E%3C/svg%3E");
}

.decor-shape-right-purple-1 {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 20%;
    min-width: 220px;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 100% 100% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 1189' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M278.796 1952.17C148.657 1828.5 158.4 1996.72 109.391 1674.5C60.3818 1352.28 259.899 850.858 261.391 632.5C262.883 414.142 -64.3961 -244.146 11.3906 -446.5C87.1774 -648.854 464.332 -517.878 556.692 -280.803C649.051 -43.7288 590.763 342.196 624.351 599.604C657.939 857.011 712.833 1720.18 657.043 1901.48C601.254 2082.78 379.064 2024.55 278.796 1952.17Z' fill='%2355309A'/%3E%3C/svg%3E");
}

.process-cards {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    width: 100%;
}

.process-card {
    background-color: var(--color-bdg);
    border: 2px solid var(--color-purple-accent);
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
}

.process-card-number {
    position: relative;
    font-family: var(--font-merriweather);
    font-style: italic;
    font-size: var(--fs-merriweather-77);
    line-height: 1;
    color: var(--color-purple-light);
    margin-bottom: 24px !important;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-green-primary);
    font-weight: 100;
}

.process-card-number::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 0;
    width: 10px;
    height: 10px;
    background-color: var(--color-purple-primary);
}

.process-card-title {
    font-family: var(--font-merriweather);
    font-style: italic;
    font-weight: var(--fw-regular);
    font-size: var(--fs-merriweather-30);
    line-height: 1.2;
    color: var(--color-dark-primary);
    margin: 0 0 16px 0 !important;
}

.process-card-text {
    font-family: var(--font-mulish);
    font-size: var(--fs-mulish-16);
    font-weight: var(--fw-regular);
    line-height: 1.6;
    color: var(--color-dark-light);
    margin: 0 !important;
}

.process-card {
    background-color: var(--color-bdg);
    border: 2px solid var(--color-purple-accent);
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.process-card-number,
.process-card-number::before,
.process-card-title,
.process-card-text {
    transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

/* Hover Effect Options */

/* Option 1: Elevation & Border Highlight */
.process-card:hover {
    transform: translateY(-6px);
    border-color: var(--color-orange-primary);
    box-shadow: 0 12px 24px rgba(36, 17, 63, 0.12);
}

.process-card:hover .process-card-number {
    color: var(--color-purple-accent);
}

.process-card:hover .process-card-number::before {
    background-color: var(--color-orange-primary);
}

/* Option 2: Full Dark Purple Invert (Uncomment if preferred)
.process-card:hover {
  background-color: var(--color-purple-primary);
  border-color: var(--color-purple-primary);
  transform: translateY(-4px);
}

.process-card:hover .process-card-number {
  color: var(--color-purple-light);
}

.process-card:hover .process-card-number::before {
  background-color: var(--color-orange-primary);
}

.process-card:hover .process-card-title,
.process-card:hover .process-card-text {
  color: var(--color-white-primary);
}
*/
.featured-work-container .text-headline {
    width: 65%;
}



/* ==========================================================================
   WHAT WE DO — GREEN SHAPE & STAGGERED CARDS
   ========================================================================== */

/* Right Green Decorative Shape */
.decor-shape-right-green {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 32%;
    min-width: 343px;
    height: 116%;
    z-index: 0;
    pointer-events: none;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 100% 100% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 483 1286' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M690.731 1779.5C614.099 1881.59 51.8615 1716.79 3.50756 1484.8C-44.8463 1252.81 421.929 1105.05 461.507 754.299C497.724 433.33 485.947 -87.8147 187.007 -48.2005C106.008 -173.701 712.205 -375.197 789.508 -205.201C866.812 -35.2041 952.867 612.722 883.508 813.299C918.013 998.696 862.811 1164.7 828.232 1296.26C793.653 1427.82 767.363 1677.42 690.731 1779.5Z' fill='%23679436'/%3E%3C/svg%3E");
}

.decor-shape-green-3 {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 29%;
    min-width: 343px;
    height: 57%;
    z-index: 0;
    pointer-events: none;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 100% 100% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='458' height='708' viewBox='0 0 458 708' fill='none'%3E%3Cpath d='M303.894 -316.168C81.6431 -278.983 -74.6446 -120.993 36.9475 71.214C195.813 344.844 500.598 142.236 657.451 356.21C1087.41 942.752 1118.64 722.654 896.217 223.736C834.884 86.1618 819.31 -67.9944 711.461 -122.73C603.612 -177.466 479.177 -345.494 303.894 -316.168Z' fill='%23679436'/%3E%3C/svg%3E");
}

.what-we-do-text {
    margin-bottom: 6% !important
}

/* Grid Layout vertically centered without fixed overflows */
.services-cards {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2px;
    width: 100%;
    max-width: 100%;
    align-items: center;
    box-sizing: border-box;
    margin-bottom: 35px !important;
}

/* Base Card Style */
.service-card {
    background-color: var(--color-bdg);
    padding: 32px 20px 40px;
    display: flex;
    flex-direction: column;
    border-bottom: 12px solid var(--color-purple-accent);
    transition: transform 0.3s ease, border-color 0.3s ease;
    width: 100%;
    box-sizing: border-box;
}

/* Cards 2 and 4 shifted upwards */
.service-card:nth-child(2),
.service-card:nth-child(4) {
    transform: translateY(-37px);
}

/* Hover Effect */
.service-card:hover {
    transform: translateY(-8px);
    border-bottom-color: var(--color-orange-primary);
}

.service-card:nth-child(2):hover,
.service-card:nth-child(4):hover {
    transform: translateY(-45px);
}

/* Icon Box */
.service-card-icon {
    width: 44px;
    height: 44px;
    border: 1px solid var(--color-dark-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.service-card-icon img,
.service-card-icon svg {
    width: 22px;
    height: 22px;
}

/* Card Title */
.service-card-title {
    font-family: var(--font-merriweather);
    font-style: italic;
    font-weight: var(--fw-regular);
    font-size: 23px;
    line-height: 1.15;
    color: var(--color-dark-primary);
    margin: 0 0 16px 0 !important;
}

/* Card Description */
.service-card-text {
    font-family: var(--font-mulish);
    font-size: 18px;
    font-weight: var(--fw-regular);
    line-height: 1.5;
    color: var(--color-dark-primary);
    margin: 0 !important;
}

/* ==========================================================================
   FULL ORANGE BUTTON — Gutenberg .full-orange-button custom class
   ========================================================================== */
.full-orange-button,
.wp-block-button.full-orange-button>.wp-block-button__link {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px;

    width: 299px !important;
    height: 102px !important;
    min-width: 299px !important;
    min-height: 102px !important;

    color: var(--color-white-primary) !important;
    font-family: var(--font-mulish);
    font-size: var(--fs-mulish-20);
    font-weight: var(--fw-extrabold);
    line-height: 24px;
    text-decoration: none !important;
    padding: 0 28px !important;
    border: none !important;
    border-radius: 0 !important;
    box-sizing: border-box;
    cursor: pointer;

    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='277' height='102' viewBox='0 0 277 102' fill='none'%3E%3Cpath d='M19.3737 7.99794C50.2764 -12.4586 126.194 15.5129 181.379 14.7331C215.008 14.2579 247.518 6.53105 266.686 22.543C285.854 38.5549 276.178 76.736 236.955 86.3982C197.732 96.0603 174.059 86.7114 132.04 91.9726C90.022 97.2337 46.164 108.742 22.9559 91.8057C-0.25221 74.8694 -11.529 28.4545 19.3737 7.99794Z' fill='%23EC7357'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-position: center !important;

    transition: color 0.3s ease, background-image 0.3s ease !important;
    overflow: visible !important;
}

.full-orange-button svg,
.full-orange-button .btn-arrow,
.wp-block-button.full-orange-button>.wp-block-button__link::after {
    display: inline-block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
}

.wp-block-button.full-orange-button>.wp-block-button__link::after {
    content: "";
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.full-orange-button:hover,
.wp-block-button.full-orange-button>.wp-block-button__link:hover {
    background-color: transparent !important;
    color: var(--color-orange-primary) !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='277' height='102' viewBox='0 0 277 102' fill='none'%3E%3Cpath d='M19.3737 7.99794C50.2764 -12.4586 126.194 15.5129 181.379 14.7331C215.008 14.2579 247.518 6.53105 266.686 22.543C285.854 38.5549 276.178 76.736 236.955 86.3982C197.732 96.0603 174.059 86.7114 132.04 91.9726C90.022 97.2337 46.164 108.742 22.9559 91.8057C-0.25221 74.8694 -11.529 28.4545 19.3737 7.99794Z' fill='%23EC7357' fill-opacity='0.3' stroke='%23EC7357' stroke-opacity='0.6' stroke-width='1.51578'/%3E%3C/svg%3E") !important;
}

.full-orange-button:hover svg,
.full-orange-button:hover .btn-arrow,
.wp-block-button.full-orange-button>.wp-block-button__link:hover::after {
    transform: translateX(6px);
}

.center-button {
    margin: 0 auto !important;
}

.full-orange-button-long,
.wp-block-button.full-orange-button-long>.wp-block-button__link {
    font-size: 17px !important;
    gap: 7px !important
}

/* ==========================================================================
   TESTIMONIAL SECTION
   ========================================================================== */

.testimonial-section {
    background-color: #1a0b2e !important;
    padding: 7% 8% 18% 8% !important;
    color: var(--color-white-primary, '#FFFFFF');
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    overflow: visible !important;
}

.testimonial-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    max-width: 1200px;
    margin: 0 auto;
}

.testimonial-content {
    flex: 1 1 60%;
    max-width: 680px;
}

.testimonial-icon {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 140px;
    line-height: 1;
    color: rgba(255, 255, 255, 0.15);
    display: block;
    position: absolute;
    left: -56px;
    top: -47px;
}

.testimonial-quote {
    color: var(--color-bdg, '#F8F3EA');
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-size: 33px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -1.5px;
    margin: 0 0 36px 0 !important;
}

.testimonial-author-card {
    background-color: var(--color-bdg, '#F8F3EA') !important;
    padding: 16px 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 16px;
    max-width: 100%;
    box-sizing: border-box;
}

.testimonial-author-card .author-avatar {
    width: 48px;
    height: 48px;
    background-color: #111111;
    flex-shrink: 0;
    object-fit: cover;
}

.testimonial-author-name {
    font-family: var(--font-mulish, sans-serif);
    font-size: 20px;
    font-weight: 800;
    color: #111111;
    margin: 0 0 4px 0 !important;
    line-height: 1.2;
}

.testimonial-author-role {
    font-family: var(--font-mulish, sans-serif);
    font-size: 14px;
    font-weight: 700;
    color: #666666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 !important;
    line-height: 1.3;
    max-width: 80% !important;
}

.testimonial-side-image {
    flex: 1 1 40%;
    display: flex;
    justify-content: center;
}

.testimonial-side-image img {
    width: 100% !important;
    max-width: 440px;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    border-radius: 0px !important;
    display: block;
}


/* Decorative background "quote" blob behind the testimonial */
.testimonial-section {
    position: relative !important;
    overflow: visible !important;
}

.orange-bg-quote {
    position: absolute;
    width: 100%;
    height: 47%;
    left: 0;
    bottom: -23%;
    background-position: bottom left !important;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 592' fill='none'%3E%3Cpath d='M-317.677 185.565C-194.9 79.6905 -317.677 50.0466 -7.12665 1.75871C286.262 -21.3247 833.347 190.187 1029 204.787C1224.65 219.386 1625.52 222.958 1800.04 301.326C1974.56 379.693 1880.14 497.686 1659.13 563.732C1438.12 629.778 1097.41 555.479 863.54 569.071C629.67 582.663 -149.295 577.928 -306.765 518.269C-464.235 458.61 -391.731 268.534 -317.677 185.565Z' fill='%23EC7357'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    pointer-events: none;
    z-index: 1;
    transform: rotate(1deg);
}

.testimonial-grid {
    position: relative;
    z-index: 2;
}


/* ==========================================================================
   CTA SECTION ("Ready to Build")
   ========================================================================== */

.cta-ready-section {
    position: relative !important;
    background-color: #55309A !important;
    padding: 6% 10% !important;
    text-align: center;
    color: var(--color-white-primary, '#FFFFFF');
    overflow: visible !important;
    z-index: 5 !important;
    margin-top: 0 !important;
    box-sizing: border-box;
}

.cta-ready-to-build {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.cta-ready-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 250px;
    background-color: var(--color-purple-accent, '#5A2CA0');
    clip-path: ellipse(80% 50% at 50% 0%);
    pointer-events: none;
    z-index: -1;
}

.cta-ready-container {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}


.cta-ready-title {
    color: var(--color-white-primary, '#FFFFFF');
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-size: clamp(40px, 6vw, 92px);
    font-style: italic;
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -1.5px;
    margin: 0 0 25px 0 !important;
    max-width: 1091px;
}

.cta-ready-description {
    color: rgba(255, 255, 255, 0.80);
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: clamp(16px, 1.8vw, 20px);
    font-weight: 400;
    line-height: 1.6;
    max-width: 672px;
    margin: 0 0 40px 0 !important;
    max-width: 66% !important;
}

.cta-ready-container .text-badge {
    margin-bottom: 40px !important;
}

.cta-purple a {
    font-size: 16px !important;
}

.cta-ready-buttons-card {
    background-color: var(--color-bdg, '#F8F3EA');
    padding: 20px;
    max-width: 576px !important;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    box-sizing: border-box;
}

/* ==========================================================================
   BLOB BUTTON — Purple Outline variant
   ========================================================================== */
.wp-block-button.btn-blob-purple-outline {
    background: none !important;
}

.wp-block-button.btn-blob-purple-outline>.wp-block-button__link {
    color: var(--color-purple-primary) !important;
    font-family: var(--font-mulish);
    font-size: 16px;
    font-weight: var(--fw-extrabold);
    line-height: 24px;
    text-decoration: none !important;
    padding: 12px 36px 16px 36px !important;
    border: none !important;
    border-radius: 0 !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 157 69' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M19.1921 12.2223C36.9313 -1.34428 69.7818 -2.9798 94.6771 7.8551C119.572 18.69 139.651 14.0085 148.973 26.45C158.295 38.8916 142.901 55.3182 121.341 60.6907C99.7805 66.0633 87.6567 58.2744 64.8579 60.3313C42.0592 62.3882 17.9097 68.9075 6.47951 55.6244C-4.95067 42.3413 1.45291 25.7889 19.1921 12.2223Z' stroke='%2324113F' stroke-width='1.5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-color: transparent !important;

    min-width: 153px !important;
    min-height: 65px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease-in-out !important;
    overflow: visible !important;
}

.wp-block-button.btn-blob-purple-outline>.wp-block-button__link:hover {
    color: var(--color-white-primary, '#FFFFFF') !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 238 104' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M29.0909 18.5268C55.9797 -2.03727 105.774 -4.51637 143.51 11.907C181.246 28.3304 211.681 21.2342 225.811 40.0929C239.941 58.9516 216.608 83.8507 183.927 91.9944C151.245 100.138 132.869 88.3317 98.3105 91.4496C63.7525 94.5674 27.1471 104.449 9.82141 84.3149C-7.50427 64.1806 2.20218 39.0908 29.0909 18.5268Z' fill='%2324113F' stroke='%2324113F' stroke-width='2.27368'/%3E%3C/svg%3E") !important;
}

.cta-ready-top-wave {
    position: absolute;
    top: -160px;
    left: 0;
    width: 100%;
    height: 260px;
    pointer-events: none;
    z-index: -1;
    overflow: hidden;
}

.cta-ready-top-wave svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* ==========================================================================
   FOOTER — Layout grid, columns, widgets
   ========================================================================== */
.footer-description {
    text-align: left !important;
    max-width: 205px;
}

.site-above-footer-inner-wrap.ast-builder-grid-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 40px !important;
    width: 100% !important;
}

.site-footer-above-section-1 {
    flex: 0 0 22% !important;
    max-width: 22% !important;
}

.site-footer-above-section-2 {
    display: flex !important;
    flex: 1 1 auto !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 32px !important;
    width: auto !important;
}

.site-above-footer-wrap[data-section="section-above-footer-builder"] {
    background-color: transparent;
    background-image: none;
    min-height: 60px;
}

.site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-1"] {
    flex: 0 0 20% !important;
    max-width: 20% !important;
}

.site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-7"] {
    flex: 0 0 16% !important;
    max-width: 16% !important;
}

.site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-8"] {
    flex: 0 0 45% !important;
    max-width: 45% !important;
}

.site-footer .widget-title {
    margin-bottom: 16px !important;
    white-space: nowrap !important;
}

.site-footer .wp-block-image img,
.site-footer .widget_media_image img {
    max-width: 100%;
}

.site-footer ul.menu,
.site-footer ul.wp-block-list {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.site-footer {
    padding: 6% 5%;
    background-color: var(--color-purple-primary, '#24113F');
}

#block-17 p {
    max-width: 205px;
    color: rgba(255, 255, 255, 0.60);
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.site-footer ul.menu li,
.site-footer ul.wp-block-list li {
    margin-bottom: 10px !important;
    line-height: 1.4 !important;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
    border-top: 1px solid var(--main-colors-white-10, rgba(255, 255, 255, 0.10));
}

/* ==========================================================================
   FOOTER — "Recognition" logos list (B Corp badges etc.)
   ========================================================================== */
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
    display: flex;
    border-top: 1px solid var(--main-colors-white-10, rgba(255, 255, 255, 0.10));
    padding: 25px 25px 45px 25px;
    margin-top: 38px;
    justify-content: center;
}

.site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-8"] {
    border-left: 1px solid var(--main-colors-white-10, rgba(255, 255, 255, 0.10)) !important;
    padding-left: 22px !important;
}

#block-38 p {
    margin-bottom: 16px !important;
    white-space: nowrap !important;
    color: var(--color-purple-light, '#DED2F4');
    font-size: 1.125rem;
    font-weight: 600;
}

#block-37 p {
    color: var(--color-white-60) !important;
    max-width: 609px;
    margin-bottom: 0 !important;
}

.recognition-list .is-layout-grid {
    display: flex !important;
    flex-direction: row-reverse !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    grid-template-columns: none !important;
    margin-bottom: 12px !important;
}

.recognition-list .recognition-image {
    background: var(--color-bdg, '#F8F3EA') !important;
    display: flex !important;
    width: 65px !important;
    height: 36px !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

.recognition-list .recognition-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

.recognition-list .recognition-text {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 300 !important;
    color: rgba(255, 255, 255, 0.60);
    white-space: nowrap !important;
    line-height: 1.2 !important;
}


.site-footer-primary-section-2 [data-section="sidebar-widgets-footer-widget-2"] .recognition-text {
    white-space: normal !important;
    word-break: keep-all !important;
}


/* ==========================================================================
   FOOTER — Social icon links
   ========================================================================== */
.footer-social-inner-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.footer-social-inner-wrap .footer-social-item {
    background: transparent !important;
    padding: 0 !important;
    text-decoration: none !important;
}

.footer-social-inner-wrap .ahfb-svg-iconset {
    background: var(--main-colors-white-10, rgba(255, 255, 255, 0.10)) !important;
    display: flex !important;
    width: 40px !important;
    height: 40px !important;
    justify-content: center !important;
    align-items: center !important;
    transition: background-color 0.3s ease, transform 0.2s ease !important;
}

.footer-social-inner-wrap .ahfb-svg-iconset svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

.footer-social-inner-wrap .footer-social-item:hover .ahfb-svg-iconset {
    background: rgba(255, 255, 255, 0.20) !important;
    transform: translateY(-2px);
}

/* ==========================================================================
   IMAGE OVERLAY UTILITY — dark tint over an image
   ========================================================================== */
.overlay-image {
    position: relative !important;
    display: inline-block;
    overflow: hidden;
}

.overlay-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(36, 17, 63, 0.20);
    mix-blend-mode: multiply;
    pointer-events: none;
}

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

/* ==========================================================================
   FOOTER MENU LINKS HOVER EFFECT
   ========================================================================== */

footer .menu .menu-item>a.menu-link {
    position: relative !important;
    display: inline-block !important;
    color: var(--color-white-60) !important;
    text-decoration: none !important;
    padding-bottom: 2px !important;
    transition: color 0.25s ease-in-out !important;
}

footer .menu .menu-item>a.menu-link::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -2px !important;
    width: 100% !important;
    height: 2px !important;
    border-radius: 2px !important;
    background-color: var(--color-orange-primary) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1) !important;
}

footer .menu .menu-item>a.menu-link:hover {
    color: var(--color-orange-primary) !important;
}

footer .menu .menu-item>a.menu-link:hover::after {
    transform: scaleX(1) !important;
}

/* ==========================================================================
   FOOTER BOTTOM LINKS (ACCESSIBILITY STATEMENT & PRIVACY POLICY) HOVER
   ========================================================================== */

.site-footer-below-section-2 a {
    position: relative !important;
    display: inline-block !important;
    color: var(--color-white-60) !important;
    text-decoration: none !important;
    padding-bottom: 2px !important;
    transition: color 0.25s ease-in-out !important;
}

.site-footer-below-section-2 a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -2px !important;
    width: 100% !important;
    height: 2px !important;
    border-radius: 2px !important;
    background-color: var(--color-orange-primary) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1) !important;
}

.site-footer-below-section-2 a:hover {
    color: var(--color-orange-primary) !important;
}

.site-footer-below-section-2 a:hover::after {
    transform: scaleX(1) !important;
}

/* ==========================================================================
   FEATURED PROJECTS — BACKGROUND SHAPE 2 (SVG DATA URI)
   ========================================================================== */


.bg-orange-shape-2 {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    top: 0;
    right: 0;
    bottom: 0;
    width: 73.5%;
    min-width: 420px;
    height: 100%;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 100% 100% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1074 1154' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M0 -0.000120163H1074.5V1236.5C1074.5 1236.5 860.796 1107.78 770 1033C622.217 911.277 740 540.5 740 540.5C740 540.5 868.582 255.999 770 111.5C615.943 -114.312 0 -0.000120163 0 -0.000120163Z' fill='%23EC7357'/%3E%3C/svg%3E");
}


.who-we-serve-section figure.hero-subpage-image,
figure.hero-subpage-image {
    width: 504px !important;
    max-width: 504px !important;
    min-width: 504px !important;
    height: 100% !important;
    max-height: 696px !important;
    margin: 0 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    min-height: 696px !important;
}

.who-we-serve-section figure.hero-subpage-image img,
figure.hero-subpage-image img {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}


.hero-subpage .hero-left-side {
    height: 100%;
    padding: 3% 3%;
    justify-content: center;
}

.separator-purple {
    margin: 0 !important;
    height: 16px !important;
    background-color: var(--color-purple-primary, '#24113F');
    color: var(--color-purple-primary, '#24113F');
}

.full-width-content {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.decor-shape-right-orange-about {
    position: absolute;
    top: -28%;
    right: -17%;
    width: 64%;
    max-width: 100% !important;
    height: 169%;
    z-index: 0;
    pointer-events: none;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 850 1377' preserveAspectRatio='xMidYMid meet' fill='none'%3E%3Cpath d='M323.665 832.698C399.816 585.975 104.922 433.68 296.906 229.594C300.271 226.016 303.794 222.067 307.462 217.805C359.253 157.622 439.85 35.0927 512.694 15.5196C632.847 -16.7655 802.056 -4.83729 832.651 110.617C863.246 226.072 733.692 720.221 680.273 864.601C626.854 1008.98 564.679 1164.77 462.735 1287.11C360.791 1409.45 151.75 1407.08 33.7683 1270.55C-113.291 1100.38 263.989 1026.04 323.665 832.698Z' fill='%23EC7357'/%3E%3C/svg%3E");
    transform: rotate(-8.4deg);
}

.bdg-2 {
    background-color: var(--color-beige-primary);
    background-image: linear-gradient(rgba(36, 17, 63, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(36, 17, 63, 0.05) 1px, transparent 1px);
    background-size: 40px 40px;
    background-position: center center;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.wp-container-core-columns-is-layout-7387b849 {
    margin-bottom: 32px !important;
    margin-top: 32px !important;
}

.team-card {
    background-color: #F8F4EB !important;
    border: 2px solid #55309A !important;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.10) !important;
    padding: 0 !important;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden;
}

.team-card:hover {
    transform: translateY(-4px);
    box-shadow: 0px 8px 20px rgba(36, 17, 63, 0.15) !important;
}

.team-card .wp-block-image {
    margin: 0 !important;
    width: 100% !important;
    height: 320px !important;
    overflow: hidden;
}

.team-card .wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}


.team-card h3 {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif) !important;
    font-size: 32px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    color: var(--color-purple-primary, '#24113F') !important;
    line-height: 1.2 !important;
    margin: 24px 24px 12px 24px !important;
    text-align: left !important;
}

.team-card p {
    color: var(--Main-colors-Purple--primary, var(--color-purple-primary, '#24113F'));
    font-family: "Source Serif 4";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 1.68px;
    text-transform: uppercase;
    margin: 0px 24px 12px 24px !important;
}

.team-card p:nth-of-type(2) {
    font-family: var(--font-source-serif, 'Source Serif 4', sans-serif) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--color-purple-primary, '#24113F') !important;
    line-height: 1.4 !important;
    margin: 0 24px 24px 24px !important;
    text-align: left !important;
}

/* Overlay with clean backdrop blur */
.pum-overlay {
    background: rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* Modal Window Container */
.pum-container {
    background: #F8F4EB !important;
    border: 2px solid #55309A !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2) !important;
    padding: 48px 36px 36px 36px !important;
    max-width: 520px !important;
    width: 90% !important;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    animation: modalPopupFade 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

/* Centered Content Layout */
.pum-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

/* Image Styling */
.pum-content .wp-block-image {
    margin: 0 0 24px 0 !important;
    width: 220px !important;
    height: 220px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 2px solid #55309A !important;
}

.pum-content .wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Description Text */
.pum-content p {
    font-family: var(--font-source-serif, 'Source Serif 4', sans-serif) !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    color: var(--color-purple-primary, '#24113F') !important;
    margin: 0 !important;
    text-align: center !important;
    margin-bottom: 10px !important;
}

/* Close Button "×" Icon */
.pum-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 36px !important;
    height: 36px !important;
    background: transparent !important;
    border: 1.5px solid #55309A !important;
    border-radius: 50% !important;
    color: var(--color-purple-primary, '#24113F') !important;
    font-size: 0 !important;
    /* Hides default CLOSE text */
    padding: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.pum-close::before {
    content: "×" !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-family: Arial, sans-serif !important;
    font-weight: 300 !important;
}

.pum-close:hover {
    background: #55309A !important;
    color: #F8F4EB !important;
    transform: rotate(90deg) !important;
}

/* Smooth Entrance Animation */
@keyframes modalPopupFade {
    0% {
        opacity: 0;
        transform: translate(-50%, -46%) scale(0.96);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

.team-cards {
    width: 100%
}

.pop-text-role {
    font-family: var(--font-source-serif, 'Source Serif 4', sans-serif) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--color-orange-primary, '#EC7357') !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

.decor-shape-top-purple {
    position: absolute;
    top: -1%;
    left: 0;
    width: 75%;
    min-width: 320px;
    height: 110px;
    z-index: 0;
    pointer-events: none;
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 100% 100% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1134 111' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M87.0021 4.64502C290.139 4.64502 1134 4.18947 1134 4.18947C1134 4.18947 1126.4 32.3191 1093.77 56.2994C1011.88 116.472 901.771 65.2508 778.885 73.3354C642.395 82.315 429.7 100.848 429.7 100.848C429.7 100.848 -20.6563 152.576 -56.5334 22.502C-66.5166 -13.6924 87.0021 4.64502 87.0021 4.64502Z' fill='%235A2CA0'/%3E%3C/svg%3E");
}

.decor-shape-top-green-5 {
    position: absolute;
    top: 0%;
    left: 0;
    width: 75%;
    min-width: 100%;
    height: 110px;
    z-index: 0;
    pointer-events: none;
    background-position: top left;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='109' viewBox='0 0 1440 109' fill='none'%3E%3Cpath d='M61.9305 -9.73102H2028C2028 -9.73102 1966.07 -213.197 1952.95 -172.657C1903.47 -19.7872 1279.14 -8.72385 1279.14 -8.72385C1279.14 -8.72385 1247.21 55.5832 1051.77 55.4008C854.206 55.2164 532.968 97.6667 532.968 97.6667C532.968 97.6667 -86.0457 155.414 -135.359 10.2039C-149.081 -30.2023 61.9305 -9.73102 61.9305 -9.73102Z' fill='%23679436'/%3E%3C/svg%3E");
}

.decor-shape-top-green-4 {
    position: absolute;
    top: -1%;
    right: 0;
    width: 104%;
    max-width: 2000px !important;
    height: 179px;
    z-index: 0;
    pointer-events: none;
    background-position: top right;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='176' viewBox='0 0 1440 176' fill='none'%3E%3Cpath d='M1533.62 151.656C1295.6 219.06 920.905 125.625 583.878 61.7635C378.493 22.846 47.7482 87.9431 -29.229 -18.1462C-106.206 -124.235 46.549 -309.086 308.518 -310.629C570.487 -312.173 691.227 -234.878 959.334 -210.304C1227.44 -185.731 1522.1 -191.087 1621.34 -75.2648C1720.57 40.5572 1771.64 84.2529 1533.62 151.656Z' fill='%23679436'/%3E%3C/svg%3E");
}

.span-light-purple {
    color: var(--color-purple-light, '#DED2F4');
}

.entry-content[data-ast-blocks-layout]>* {
    max-width: 100% !important;
    margin-left: auto;
    margin-right: auto;
}

.ethics-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.ethics-card {
    position: relative;
    background: linear-gradient(155deg, var(--color-purple-accent, '#5A2CA0') 0%, #472386 100%) !important;
    padding: 48px 36px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-sizing: border-box !important;
    cursor: pointer;
    overflow: hidden;
    opacity: 0;
    transform: translateY(40px);
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1),
        box-shadow 0.5s cubic-bezier(0.25, 1, 0.5, 1),
        border-color 0.5s ease !important;
}

.ethics-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 24px 48px rgba(36, 17, 63, 0.45),
        0 0 0 1px rgba(236, 115, 87, 0.35) !important;
    border-color: rgba(236, 115, 87, 0.4) !important;
}

.ethics-card::before {
    content: "";
    position: absolute;
    left: 36px;
    right: 36px;
    bottom: 0;
    height: 2px;
    background-color: var(--color-orange-primary, '#EC7357');
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
    pointer-events: none;
}

.ethics-card:hover::before {
    transform: scaleX(1);
}

.ethics-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.08) 45%, transparent 60%);
    transform: translateX(-120%);
    transition: transform 0.7s ease;
    pointer-events: none;
}

.ethics-card:hover::after {
    transform: translateX(120%);
}

.ethics-card h1,
.ethics-card h2,
.ethics-card h3,
.ethics-card h4,
.ethics-card p:first-child {
    font-family: var(--font-source-serif, 'Source Serif 4', sans-serif) !important;
    font-style: italic !important;
    font-size: 36px !important;
    font-weight: 400 !important;
    color: var(--color-white-primary, '#FFFFFF') !important;
    margin: 0 0 24px 0 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    transition: color 0.3s ease !important;
}

.ethics-card:hover h1,
.ethics-card:hover h2,
.ethics-card:hover h3,
.ethics-card:hover h4,
.ethics-card:hover p:first-child {
    color: #F8F4EA !important;
}

.ethics-card p,
.ethics-card p:last-child {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: #E2D9F3 !important;
    margin: 0 !important;
    opacity: 0.95 !important;
}

.ethics-cards-grid.is-visible .ethics-card {
    animation: cardSlideUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.ethics-cards-grid.is-visible .ethics-card:nth-of-type(1) {
    animation-delay: 0.1s;
}

.ethics-cards-grid.is-visible .ethics-card:nth-of-type(2) {
    animation-delay: 0.22s;
}

.ethics-cards-grid.is-visible .ethics-card:nth-of-type(3) {
    animation-delay: 0.34s;
}

.ethics-cards-grid.is-visible .ethics-card:nth-of-type(4) {
    animation-delay: 0.46s;
}

.ethics-cards-grid.is-visible .ethics-card:nth-of-type(5) {
    animation-delay: 0.58s;
}

.ethics-cards-grid.is-visible .ethics-card:nth-of-type(6) {
    animation-delay: 0.7s;
}

@keyframes cardSlideUp {
    0% {
        opacity: 0;
        transform: translateY(40px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


.project-link-btn:hover,
.project-link-btn:focus {
    color: white !important;
}

.display-none {
    display: none !important
}

.decor-shape-green-full {
    position: absolute;
    bottom: -16%;
    right: 0;
    width: 100vw;
    height: 117%;
    z-index: 0;
    pointer-events: none;
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='1764' viewBox='0 0 1440 1764' fill='none'%3E%3Cpath d='M1435.52 4.98147C1203.57 65.3363 1295.76 371.391 1163.99 580.091C888.864 1015.82 200.164 907.94 13.5516 1393.72C-264.484 2117.49 2214.2 1679.73 1971.27 934.233C1878.78 650.388 1710.23 -66.5011 1435.52 4.98147Z' fill='%23679436'/%3E%3C/svg%3E");
}

.decor-shape-orange-3 {
    position: absolute;
    bottom: 0%;
    right: -18%;
    width: 73%;
    height: 111%;
    z-index: 0;
    pointer-events: none;
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='648' height='1058' viewBox='0 0 648 1058' fill='none'%3E%3Cpath d='M599.936 -97.4811C445.37 -51.5772 497.025 -155.412 406.703 12.1021C316.381 179.616 461.56 435.267 367.462 665.578C293.722 846.061 -51.501 950.898 6.54441 1073.7C64.5898 1196.51 484.789 1246.48 611.879 1132.53C738.969 1018.58 748.346 831.511 814.509 696.771C880.672 562.03 1040.36 100.667 1001.4 -7.36265C962.434 -115.392 716.356 -120.363 599.936 -97.4811Z' fill='%23EC7357'/%3E%3C/svg%3E");
}

.decor-shape-orange-4 {
    position: absolute;
    top: 0%;
    right: 0%;
    width: 100%;
    height: 14%;
    z-index: 0;
    pointer-events: none;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='251' viewBox='0 0 1440 251' fill='none'%3E%3Cpath d='M1553.12 232.488C1315.14 306.797 953.248 137.562 618.994 75.121C415.297 37.069 85.0936 110.263 10.3103 -0.302434C-64.473 -110.868 90.6723 -307.579 351.36 -312.912C612.048 -318.245 730.866 -238.603 997.216 -216.536C1263.57 -194.468 1556.84 -204.276 1653.61 -83.7822C1750.37 36.7118 1791.09 158.179 1553.12 232.488Z' fill='%23EC7357'/%3E%3C/svg%3E");
}

.decor-shape-green-2 {
    position: absolute;
    top: 0%;
    right: 0%;
    width: 100%;
    height: 273px;
    z-index: 0;
    pointer-events: none;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='448' height='273' viewBox='0 0 448 273' fill='none'%3E%3Cpath d='M688.93 -107.909C955.475 -76.2924 1338.76 -24.5786 1153.69 174.058C985.962 354.072 802.468 227.904 561.613 244.108C379.645 256.35 94.6829 323.925 8.06749 158.406C-56.4632 35.0904 286.764 -11.1593 305.351 -140.814C341.759 -394.774 419.712 -139.842 688.93 -107.909Z' fill='%23679436'/%3E%3C/svg%3E");
}

.decor-shape-orange-5 {
    position: absolute;
    bottom: 0%;
    right: 0%;
    width: 100%;
    height: 743px;
    z-index: 0;
    pointer-events: none;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='852' height='743' viewBox='0 0 852 743' fill='none'%3E%3Cpath d='M548.847 903.618C284.371 949.423 -97.7272 1009.3 22.9285 766.089C132.273 545.679 364.508 656.002 570.354 529.903C730.094 432.049 993.824 -112.849 1124.09 21.0488C1221.15 120.806 906.647 696.068 925.853 825.633C963.473 1079.42 815.976 857.353 548.847 903.618Z' fill='%23EC7357'/%3E%3C/svg%3E");
}

.decor-shape-orange-6 {
    position: absolute;
    top: 0;
    right: 0;
    width: 255px;
    height: 100%;
    max-height: 746px;
    z-index: 0;
    pointer-events: none;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='255' height='746' viewBox='0 0 255 746' fill='none'%3E%3Cpath d='M179.681 489.593C156.718 422.566 125.461 357.788 83.3635 300.799C-135.826 4.07676 163.259 36.8263 19.9876 -256.463C76.0312 -435.333 315.802 -279.561 420.158 -81.8707C868.509 767.48 345.211 972.768 179.681 489.593Z' fill='%23EC7357'/%3E%3C/svg%3E");
}

.ethics-section .text-lead {
    margin: 0 !important;
    max-width: 80% !important;
}

.certifications-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
    max-width: 1248px;
    margin: 0 auto;
    box-sizing: border-box;
}

.cert-card {
    background-color: var(--color-bdg, '#F8F3EA');
    border: 2px solid var(--color-orange-primary, '#EC7357');
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    height: 100%;
}

.cert-icon-wrapper {
    width: 120px;
    height: 120px;
    border: 1px solid var(--color-purple-primary, '#24113F');
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    flex-shrink: 0;
}

.cert-icon-wrapper img {
    object-fit: contain;
    display: block;
	    max-width: 109px !important;
    height: 103px !important;
}

.cert-title {
    color: var(--color-purple-primary, '#24113F');
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 22px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 2px;
    margin: 0 0 12px 0 !important;
}

.cert-desc {
    color: var(--color-purple-primary, '#24113F');
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 !important;
}

.cert-icon-wrapper figure {
    display: flex;
    justify-content: center;
}

.commitments-section .commitments-content {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.who-we-serve-text .commitments-headline {
    max-width: 62% !important;
}

.cert-card {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.35s ease,
        border-color 0.35s ease;
    will-change: transform;
    position: relative;
    overflow: hidden;
}

.cert-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(236, 115, 87, 0.08), rgba(36, 17, 63, 0.04));
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

.cert-card:hover {
    transform: translateY(-8px);
    border-color: var(--color-purple-primary, '#24113F');
    background-color: #FBF8F2;
    box-shadow: 0 20px 40px -12px rgba(36, 17, 63, 0.25),
        0 4px 12px rgba(236, 115, 87, 0.15);
}

.cert-card:hover::before {
    opacity: 1;
}

.cert-icon-wrapper {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.35s ease,
        box-shadow 0.35s ease;
    position: relative;
    z-index: 1;
}

.cert-card:hover .cert-icon-wrapper {
    border-color: var(--color-orange-primary, '#EC7357');
    box-shadow: 0 0 0 4px rgba(236, 115, 87, 0.15);
    transform: scale(1.08) rotate(-4deg);
}

.cert-title,
.cert-desc {
    position: relative;
    z-index: 1;
}

.commitments-section {
    margin-bottom: 10% !important
}

.why-we-do-side-image {
    flex: 1 1 40%;
    display: flex;
    justify-content: center;
}

.why-we-do-side-imageimg {
    width: 100% !important;
    max-width: 440px;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    border-radius: 0px !important;
    display: block;
}

.text-82 {
    font-size: 74px
}

.hero-subpage .text-82 {
    max-width: 100% !important;
}

.hero-subpage .text-82 {
    line-height: 85.6px !important;
}

.how-we-approach-section .who-we-serve-content {
    margin-top: 3%;
}

.how-we-approach-section .text-headline {
    padding-bottom: 3%;
}

.process-phases-wrapper {
    display: flex;
    flex-direction: column;
    gap: 64px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.phase-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}

.phase-text-col {
    flex: 1;
}

.phase-row .sector-card {
    flex: 1;
    margin: 0 !important;
}

.phase-label {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: #7151A8;
    margin-bottom: 18px !important;
    display: block;
}

.phase-heading-wrap {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.phase-icon-box {
    width: 56px;
    height: 56px;
    background-color: var(--color-purple-accent, '#5A2CA0');
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.phase-icon-box i {
    font-style: normal;
    color: var(--color-white-primary, '#FFFFFF');
    font-size: 24px;
}

.phase-title {
    margin: 0 !important;
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-size: 62px;
    line-height: 1;
    font-weight: 400;
    color: var(--color-purple-primary, '#24113F');
}

.phase-description {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 20px;
    line-height: 32.5px;
    color: var(--color-dark-light, '#5B575B');
    margin: 0;
}

.proccess-wrapper-card {
    position: relative;
    overflow: hidden;
    background-color: var(--color-bdg, '#F8F3EA');
    border: 2px solid transparent;
    padding: 40px;
    transition: background-color 0.3s ease,
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.proccess-wrapper-card::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: 0;
}

.proccess-wrapper-card>* {
    position: relative;
    z-index: 1;
}

.proccess-wrapper-card.card-orange {
    border-color: var(--color-orange-primary, '#EC7357');
}

.proccess-wrapper-card.card-green {
    border-color: var(--color-green-primary, '#679436');
}

.proccess-wrapper-card.card-orange::before {
    background: linear-gradient(135deg,
            color-mix(in srgb, var(--color-orange-primary, '#EC7357') 14%, transparent) 0%,
            color-mix(in srgb, var(--color-green-primary, '#679436') 8%, transparent) 100%);
}

.proccess-wrapper-card.card-green::before {
    background: linear-gradient(135deg,
            color-mix(in srgb, var(--color-green-primary, '#679436') 14%, transparent) 0%,
            color-mix(in srgb, var(--color-orange-primary, '#EC7357') 8%, transparent) 100%);
}

.proccess-wrapper-card.card-orange:hover {
    background-color: color-mix(in srgb, var(--color-orange-primary, '#EC7357') 8%, var(--color-bdg, '#F8F3EA'));
}

.proccess-wrapper-card.card-green:hover {
    background-color: color-mix(in srgb, var(--color-green-primary, '#679436') 8%, var(--color-bdg, '#F8F3EA'));
}

.proccess-wrapper-card:hover {
    transform: translateY(-6px);
}

.proccess-wrapper-card:hover::before {
    opacity: 1;
}

.proccess-wrapper-card.card-orange:hover {
    box-shadow: 0 24px 48px -16px rgba(236, 115, 87, 0.28),
        0 8px 20px rgba(36, 17, 63, 0.08);
}

.proccess-wrapper-card.card-green:hover {
    box-shadow: 0 24px 48px -16px rgba(103, 148, 54, 0.28),
        0 8px 20px rgba(36, 17, 63, 0.08);
}

.sector-card-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sector-item {
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 4px;
    padding: 4px 8px;
    margin: -4px -8px;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.sector-item:hover {
    transform: translateX(6px);
}

.sector-item-dash {
    width: 32px;
    height: 1px;
    flex-shrink: 0;
    margin: 0 !important;
    transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.3s ease;
}

.card-orange .sector-item-dash {
    background-color: var(--color-green-primary, '#679436');
}

.card-green .sector-item-dash {
    background-color: var(--color-orange-primary, '#EC7357');
}

.sector-item:hover .sector-item-dash {
    width: 44px;
}

.sector-item-text {
    margin: 0 !important;
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-weight: 400;
    font-size: 20px;
    line-height: 32.5px;
    color: var(--color-dark-primary, '#121018');
    transition: color 0.3s ease;
}

.card-orange .sector-item:hover .sector-item-text {
    color: var(--color-green-primary, '#679436');
}

.card-green .sector-item:hover .sector-item-text {
    color: var(--color-orange-primary, '#EC7357');
}

.phase-row {
    transition: transform 0.3s ease;
}

.phase-icon-box {
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.35s ease,
        box-shadow 0.35s ease;
}

.phase-title {
    transition: color 0.35s ease;
    position: relative;
    display: inline-block;
}

.phase-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 3px;
    background-color: var(--color-orange-primary, '#EC7357');
    transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.phase-row:hover .phase-icon-box {
    transform: scale(1.08) rotate(-6deg);
    background-color: #7151A8;
    box-shadow: 0 12px 28px -8px rgba(90, 44, 160, 0.45);
}

.phase-row:hover .phase-title {
    color: var(--color-purple-accent, '#5A2CA0');
}

.phase-row:hover .phase-title::after {
    width: 60px;
}

.info-cards-stack {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    width: 100%;
}

.info-card {
    width: 100%;
    padding: 24px 32px;
    background-color: var(--color-bdg, '#F8F3EA');
    border: 2px solid var(--color-orange-primary, '#EC7357');
    box-sizing: border-box;
    align-content: center;
}

.info-card-inner {
    display: flex;
    align-items: center;
    gap: 12px;
}

.info-card-dash {
    width: 32px;
    height: 1px;
    background-color: var(--color-green-primary, '#679436');
    flex-shrink: 0;
}

.info-card-content {
    margin: 0 !important;
    font-family: var(--font-mulish, 'Mulish', sans-serif);
}

.info-card-title {
    color: var(--color-orange-primary, '#EC7357');
    font-size: 19px;
    font-weight: 800;
    line-height: 24px;
    display: inline;
}

.info-card-text {
    color: var(--color-dark-primary, '#121018');
    font-size: 18px;
    font-weight: 400;
    line-height: 20px;
    display: inline;
}

.info-card {
    position: relative;
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.35s ease,
        background-color 0.35s ease;
}

.info-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            color-mix(in srgb, var(--color-orange-primary, '#EC7357') 10%, transparent) 0%,
            color-mix(in srgb, var(--color-green-primary, '#679436') 6%, transparent) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: 0;
}

.info-card>* {
    position: relative;
    z-index: 1;
}

.info-card:hover {
    transform: translateY(-6px);
    border-color: var(--color-purple-primary, '#24113F');
    box-shadow: 0 20px 40px -14px rgba(236, 115, 87, 0.3),
        0 6px 16px rgba(36, 17, 63, 0.08);
}

.info-card:hover::before {
    opacity: 1;
}

.info-card-dash {
    transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.3s ease;
}

.info-card:hover .info-card-dash {
    width: 44px;
    background-color: var(--color-purple-primary, '#24113F');
}

.info-card-title {
    transition: color 0.3s ease;
}

.info-card:hover .info-card-title {
    color: var(--color-purple-primary, '#24113F');
}

ul.list-green {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    margin-top: 10px !important;
}

ul.list-green li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 12px;
}

ul.list-green li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 12px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='12' viewBox='0 0 22 12' fill='none'%3E%3Cpath d='M0 6.25L4.076 10.326C4.1885 10.4384 4.341 10.5015 4.5 10.5015C4.659 10.5015 4.8115 10.4384 4.924 10.326L7.5 7.75M14.5 0.75L10.5 4.75' stroke='%23679436' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M5.5 5.75L10.076 10.326C10.1885 10.4384 10.341 10.5015 10.5 10.5015C10.659 10.5015 10.8115 10.4384 10.924 10.326L20.5 0.75' stroke='%23679436' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.feature-cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.one-card {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 32px;
    width: 100%;
    max-width: 650px !important;
    margin: 0 auto;
}

.feature-card {
    position: relative;
    background-color: var(--color-bdg, '#F8F3EA');
    padding: 40px 40px 60px 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
    box-sizing: border-box;
}

.feature-card-icon {
    width: 40px;
    height: 40px;
    border: 1px solid var(--color-purple-primary, '#24113F');
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    flex-shrink: 0;
}

.feature-card-title {
    margin: 0 0 20px 0 !important;
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--color-purple-primary, '#24113F');
}

.feature-card-text {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.feature-card-text p {
    margin: 0 !important;
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 18px;
    line-height: 1.6;
    color: var(--color-purple-primary, '#24113F');
}

.feature-card-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 28px;
    background-color: var(--color-orange-primary, '#EC7357');
    opacity: 31%;
}

.who-we-serve-text .accessibility-text-lead {
    margin: 0 !important;
    max-width: 650px !important;
    margin-bottom: 4% !important;
}

.feature-card {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 56px -18px rgba(236, 115, 87, 0.35),
        0 10px 24px rgba(36, 17, 63, 0.1);
}

.feature-card-footer {
    transition: height 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.feature-card:hover .feature-card-footer {
    height: 100%;
    opacity: 0.08;
}

.feature-card-icon {
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.35s ease,
        border-color 0.35s ease;
    position: relative;
    z-index: 1;
}

.feature-card:hover .feature-card-icon {
    transform: scale(1.1) rotate(-6deg);
    background-color: var(--color-purple-primary, '#24113F');
    border-color: var(--color-purple-primary, '#24113F');
}

.feature-card:hover .feature-card-icon img {
    filter: brightness(0) invert(1);
}

.feature-card-title,
.feature-card-text {
    position: relative;
    z-index: 1;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.feature-card:hover .feature-card-title {
    transform: translateX(4px);
}

.accessibility-section {
    padding-bottom: 18% !important;
}

.impact-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 100%;
    max-width: 1248px;
    margin: 8% auto;
    align-items: start;
    box-sizing: border-box;
    z-index: 1;
}

.impact-card {
    background-color: var(--color-bdg, '#F8F3EA');
    border: 2px solid var(--color-purple-accent, '#5A2CA0');
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    min-height: 480px;
}

.impact-card:nth-child(2) {
    margin-top: 40px;
}

.impact-card:nth-child(3) {
    margin-top: 20px;
}

.impact-card:nth-child(4) {
    margin-top: 60px;
}

.impact-card-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.impact-card-title {
    color: var(--color-purple-primary, '#24113F');
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-size: 33px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 !important;
}

.impact-card-desc {
    color: var(--color-dark-light, '#5B575B');
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    margin: 0 !important;
    padding-bottom: 10px;
}

.impact-card-footer {
    padding-top: 32px;
    border-top: 1px solid var(--color-green-primary, '#679436');
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.impact-stat-item {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 20px;
}

.impact-stat-line {
    width: 32px;
    height: 1px;
    background-color: var(--color-orange-primary, '#EC7357');
    flex-shrink: 0;
}

.impact-stat-text {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.4;
}

.impact-stat-text.primary {
    color: var(--color-purple-primary, '#24113F');
}

.impact-stat-text.secondary {
    color: var(--color-dark-light, '#5B575B');
}

.impact-card {
    position: relative;
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1),
        box-shadow 0.5s cubic-bezier(0.25, 1, 0.5, 1),
        border-color 0.5s ease;
}

.impact-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 24px 48px rgba(36, 17, 63, 0.25),
        0 0 0 1px rgba(236, 115, 87, 0.35) !important;
    border-color: rgba(236, 115, 87, 0.5) !important;
}

.impact-card::before {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 0;
    height: 2px;
    background-color: var(--color-orange-primary, '#EC7357');
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
    pointer-events: none;
    z-index: 2;
}

.impact-card:hover::before {
    transform: scaleX(1);
}

.impact-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 30%, rgba(90, 44, 160, 0.06) 45%, transparent 60%);
    transform: translateX(-120%);
    transition: transform 0.7s ease;
    pointer-events: none;
    z-index: 0;
}

.impact-card:hover::after {
    transform: translateX(120%);
}

.impact-card>* {
    position: relative;
    z-index: 1;
}

.impact-card-title {
    transition: color 0.3s ease;
}

.impact-card:hover .impact-card-title {
    color: var(--color-purple-accent, '#5A2CA0');
}

.principles-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 100%;
    max-width: 1248px;
    margin: 0 auto;
    align-items: start;
    box-sizing: border-box;
}

.principle-card {
    background-color: #55309A;
    border: 2px solid #55309A;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-height: 380px;
}

.principle-card:nth-child(2) {
    margin-top: 40px;
}

.principle-card:nth-child(3) {
    margin-top: 0px;
}

.principle-card:nth-child(4) {
    margin-top: 40px;
}

.principle-number {
    color: rgba(222, 210, 244, 0.5);
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-size: 62px;
    font-style: italic;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 24px !important;
}

.principle-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.principle-title {
    color: var(--color-white-primary, '#FFFFFF');
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-size: 32px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 !important;
}

.principle-desc {
    color: var(--color-purple-light, '#DED2F4');
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin: 0 !important;
}

.ethically-section {
    padding-bottom: 18% !important;
}

.principle-card {
    transition: transform 0.3s ease-in-out,
        box-shadow 0.3s ease-in-out,
        border-color 0.3s ease-in-out,
        background-color 0.3s ease-in-out;
}

.principle-number,
.principle-title,
.principle-desc {
    transition: color 0.3s ease-in-out;
}

.principle-card:hover {
    transform: translateY(-6px);
    border-color: var(--color-orange-primary, '#EC7357');
    box-shadow: 0 12px 24px rgba(36, 17, 63, 0.35);
}

.principle-card:hover .principle-number {
    color: var(--color-orange-primary, '#EC7357');
}

.principle-card:hover .principle-title {
    color: var(--color-bdg, '#F8F3EA');
}

.principle-card:hover .principle-desc {
    color: var(--color-white-primary, '#FFFFFF');
}


/* =========================
   RECOGNITION
   ========================= */

#block-40 {
    width: 100% !important;
    flex-basis: 100% !important;
    text-align: center !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
}

#block-40 h2 {
    margin: 0 !important;
    text-align: center !important;
}


/* =========================
   ALL LOGOS — ONE ROW
   ========================= */

aside[data-section="sidebar-widgets-footer-widget-2"] {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    align-items: center !important;
    justify-items: center !important;
    column-gap: 20px !important;
    row-gap: 25px !important;
}


/* Recognition heading */
aside[data-section="sidebar-widgets-footer-widget-2"]>#block-40 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    text-align: center !important;
}

aside[data-section="sidebar-widgets-footer-widget-2"]>#block-40 h2 {
    margin: 0 !important;
    text-align: center !important;
}


/* Remove widget wrappers from layout */
aside[data-section="sidebar-widgets-footer-widget-2"]>section:not(#block-40) {
    display: contents !important;
}


/* Remove recognition wrappers */
aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-list,
aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-list>.is-layout-grid,
aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-list>.is-layout-grid>.wp-block-group {
    display: contents !important;
}


/* Hide empty paragraphs */
aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-text {
    display: none !important;
}


/* Logos */
aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    height: 75px !important;
    max-width: 103px;
    min-width: 103px;
}

aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image img {
    display: block !important;
    width: auto !important;
    max-width: 94px !important;
    height: 51px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

.edac-nww-external-link-icon {
    display: none
}

aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image .wp-image-705 {
    height: 78px !important;
}

aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image .wp-image-712 {
    height: 38px !important;
}
aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image .wp-image-3069 {
	    max-width: 123px !important;
    height: 79px !important;
}
.text-block-purple {
    padding: 48px 5%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background-color: var(--color-purple-accent, '#5A2CA0');
}

.text-block-purple p {
    color: var(--color-bdg, '#F8F3EA');
    text-align: center;
    font-family: Merriweather;
    font-size: 35px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.3;
    align-self: stretch;
    letter-spacing: -1.5px;
    max-width: 1300px !important;
    margin: 0 auto !important;
}

.text-block-green {
    padding: 48px 5% !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--color-green-primary, '#679436');
}

.text-block-green p {
    color: var(--color-bdg, '#F8F3EA');
    text-align: center;
    font-family: Merriweather;
    font-size: 44px;
    font-style: italic;
    font-weight: 400;
    line-height: 62px;
    align-self: stretch;
    letter-spacing: -1.5px;
    max-width: 1012px !important;
    margin: 0 auto !important
}

.bcorp-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    max-width: 1400px !important;
    margin: 0 auto;
    padding-bottom: 37px;
}

.bcorp-card {
    position: relative;
    padding: 40px 24px;
    overflow: hidden;
    cursor: default;
    outline: 1.2px solid rgba(236, 115, 87, 0.5);
    outline-offset: -1.2px;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), outline-color 0.45s ease, box-shadow 0.45s ease;
    min-height: 174px;
}

.bcorp-card__number {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-weight: 400;
    font-size: 53px;
    line-height: 1;
    margin: 0 0 20px 0 !important;
    display: block;
    position: relative;
    z-index: 2;
    transition: text-shadow 0.45s ease;
}

.bcorp-card__label {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.3;
    margin: 0;
    position: relative;
    z-index: 2;
}

.bcorp-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--color-orange-primary, '#EC7357'), #F5A78A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 2;
}

.bcorp-card:hover {
    transform: translateY(-8px) scale(1.015);
    outline-color: var(--color-orange-primary, '#EC7357');
    box-shadow: 0 24px 48px -18px rgba(236, 115, 87, 0.45);
}

.bcorp-card:hover::after {
    transform: scaleX(1);
}

.bcorp-card:hover .bcorp-card__number {
    text-shadow: 0 0 18px rgba(236, 115, 87, 0.5);
}

.bcorp-card--light {
    background: var(--color-bdg, '#F8F3EA');
}

.bcorp-card--light .bcorp-card__number,
.bcorp-card--light .bcorp-card__label {
    color: var(--color-purple-primary, '#24113F');
}

.bcorp-card--dark {
    background: #55309A;
}

.bcorp-card--dark .bcorp-card__number {
    color: var(--color-white-primary, '#FFFFFF');
}

.bcorp-card--dark .bcorp-card__label {
    color: var(--color-purple-light, '#DED2F4');
}

.bcorp-card--dark:hover .bcorp-card__number {
    text-shadow: 0 0 18px rgba(255, 255, 255, 0.4);
}

.bcorp-score-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 350px));
    gap: 24px;
    max-width: 800px;
    margin: 0 auto;
    margin-bottom: 37px;
}

.bcorp-score-card {
    position: relative;
    padding: 20px;
    background: var(--color-bdg, '#F8F3EA');
    outline: 1.73px solid var(--color-purple-accent, '#5A2CA0');
    outline-offset: -1.73px;
    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        outline-color 0.45s ease,
        box-shadow 0.45s ease;
}

.bcorp-score-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--accent, var(--color-orange-primary, '#EC7357')), var(--accent-soft, #F5A78A));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.bcorp-score-card:hover {
    transform: translateY(-8px) scale(1.015);
    outline-color: var(--accent, var(--color-purple-accent, '#5A2CA0'));
    box-shadow: 0 24px 48px -18px var(--shadow, rgba(90, 44, 160, 0.35));
}

.bcorp-score-card:hover::after {
    transform: scaleX(1);
}

.bcorp-score-card__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 129px;
    padding: 16px 12px;
    background: var(--tint);
    transition: background 0.45s ease;
}

.bcorp-score-card:hover .bcorp-score-card__inner {
    background: var(--tint-hover);
}

.bcorp-score-card__number {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-weight: 400;
    font-size: 53.5px;
    line-height: 1;
    color: var(--color-purple-primary, '#24113F');
    transition: text-shadow 0.45s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.bcorp-score-card:hover .bcorp-score-card__number {
    transform: scale(1.06);
    text-shadow: 0 0 20px var(--glow);
}

.bcorp-score-card__label {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-weight: 500;
    font-size: 12.1px;
    text-transform: uppercase;
    letter-spacing: 2.18px;
    color: var(--color-purple-primary, '#24113F');
    text-align: center;
    transition: letter-spacing 0.45s ease;
}

.bcorp-score-card:hover .bcorp-score-card__label {
    letter-spacing: 3px;
}

.bcorp-score-card--orange {
    --tint: rgba(236, 115, 87, 0.20);
    --tint-hover: rgba(236, 115, 87, 0.38);
    --accent: var(--color-orange-primary, '#EC7357');
    --accent-soft: #F5A78A;
    --shadow: rgba(236, 115, 87, 0.35);
    --glow: rgba(236, 115, 87, 0.55);
}

.bcorp-score-card--green {
    --tint: rgba(103, 148, 54, 0.25);
    --tint-hover: rgba(103, 148, 54, 0.42);
    --accent: var(--color-green-primary, '#679436');
    --accent-soft: #9BC96A;
    --shadow: rgba(103, 148, 54, 0.35);
    --glow: rgba(103, 148, 54, 0.55);
}

.certification-content-width {
    max-width: 1350px !important
}

.in-practice-section .who-we-serve-text .text-headline {
    max-width: 100% !important;
}

.trc-section {
    background: var(--color-purple-primary, '#24113F');
    padding: 82px 96px;
    overflow: hidden;
}

.trc-grid {
    max-width: 1441px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 518px;
    column-gap: 40px;
    align-items: start;
}


.trc-highlight {
    background: var(--color-orange-primary, '#EC7357');
    outline: 3px solid #55309A;
    outline-offset: -3px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
}

.trc-highlight:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px -18px rgba(85, 48, 154, 0.5);
}

.trc-content {
    display: flex;
    flex-direction: column;
    gap: 19px;
}

.trc-highlight__date {
    color: var(--color-purple-primary, '#24113F');
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-weight: 400;
    font-size: 36px;
    line-height: 1.22;
}

.trc-highlight__text {
    color: var(--color-purple-primary, '#24113F');
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-weight: 400;
    font-size: 20px;
    line-height: 1.625;
}

.report-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    width: 100%;
    margin: 0 auto 30px auto;
}

.report-card {
    position: relative;
    background: var(--color-bdg, '#F8F3EA');
    outline: 2px solid #55309A;
    outline-offset: -2px;
    overflow: hidden;
    padding: 32px 24px;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        outline-color 0.45s ease,
        box-shadow 0.45s ease;
    max-width: 600px !important;
}

.report-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--color-purple-accent, '#5A2CA0'), #55309A);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);

}

.report-card:hover {
    transform: translateY(-8px);
    outline-color: var(--color-orange-primary, '#EC7357');
    box-shadow: 0 24px 48px -18px rgba(85, 48, 154, 0.35);
}

.report-card:hover::after {
    transform: scaleX(1);
}

.report-card__eyebrow {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 2.52px;
    line-height: 1.2;
    margin: 0 0 12px 0;
    transition: letter-spacing 0.45s ease;
}

.report-card:hover .report-card__eyebrow {
    letter-spacing: 3.2px;
}

.report-card__eyebrow--verified {
    color: #1A5E20;
}

.report-card__eyebrow--upcoming {
    color: var(--color-purple-accent, '#5A2CA0');
}

.report-card__title {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-weight: 400;
    font-size: 32px;
    line-height: 1.25;
    color: var(--color-purple-primary, '#24113F');
    margin: 0 0 16px 0 !important;
    max-width: 270px !important;
}

.report-card__text {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5;
    color: var(--color-purple-primary, '#24113F');
    max-width: 100%;
    margin: 0;
}

.report-card__button {
    align-self: flex-start;
    margin-top: auto;
}

.report-card__button-inner {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 22px;
    background: var(--color-bdg, '#F8F3EA');
    outline: 2px solid var(--color-orange-primary, '#EC7357');
    outline-offset: -1px;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-weight: 800;
    font-size: 17px;
    line-height: 24px;
    color: var(--color-purple-primary, '#24113F');
    text-decoration: none;
    overflow: hidden;
    transition:
        color 0.4s ease,
        outline-color 0.4s ease,
        box-shadow 0.4s ease,
        transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.report-card__button-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--color-orange-primary, '#EC7357');
    transform: translateX(-100%);
    transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
    z-index: 0;
}

.report-card__button-inner>* {
    position: relative;
    z-index: 1;
}

.report-card__button-inner .arrow {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.report-card__button:hover .report-card__button-inner {
    color: var(--color-white-primary, '#FFFFFF');
    outline-color: #55309A;
    box-shadow: 0 10px 24px -8px rgba(236, 115, 87, 0.55);
    transform: translateY(-2px);
}

.report-card__button:hover .report-card__button-inner::before {
    transform: translateX(0);
}

.report-card__button:hover .arrow {
    transform: translateX(4px);
}

.report-card__button:active .report-card__button-inner {
    transform: translateY(0) scale(0.98);
}

.accountability-section {
    padding: 100px 80px 10% 80px !important;
}

.who-we-serve-section .gform_wrapper.gform-theme {
    background-color: var(--color-purple-primary, '#24113F');
    border-radius: 20px;
    padding: 48px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    max-width: 1200px !important;
    margin: 0 auto !important;
    box-sizing: border-box;
}


.who-we-serve-section .gform_heading {
    margin-bottom: 32px;
}

.who-we-serve-section .gform_title {
    color: var(--color-bdg, '#F8F3EA') !important;
    font-family: var(--font-merriweather, 'Merriweather', sans-serif) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: 64px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
}

.who-we-serve-section .gform_description {
    display: none;
}

.who-we-serve-section .gform_fields {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.who-we-serve-section .gfield_label,
.who-we-serve-section .gform-field-label {
    color: var(--color-bdg, '#F8F3EA') !important;
    font-family: var(--font-mulish, 'Mulish', sans-serif) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 2.52px !important;
    line-height: 20px !important;
    margin-bottom: 8px !important;
}

.who-we-serve-section .gfield_required {
    color: var(--color-orange-primary, '#EC7357') !important;
    margin-left: 4px;
}

.who-we-serve-section input[type="text"],
.who-we-serve-section input[type="email"],
.who-we-serve-section input[type="tel"],
.who-we-serve-section textarea {
    width: 100% !important;
    background: #55309A !important;
    border: 1px solid #55309A !important;
    border-radius: 0 !important;
    color: var(--color-bdg, '#F8F3EA') !important;
    font-family: var(--font-mulish, 'Mulish', sans-serif) !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.who-we-serve-section input::placeholder,
.who-we-serve-section textarea::placeholder {
    color: rgba(248, 243, 234, 0.6) !important;
}

.who-we-serve-section input:focus,
.who-we-serve-section textarea:focus {
    border-color: var(--color-orange-primary, '#EC7357') !important;
    box-shadow: 0 0 0 2px rgba(236, 115, 87, 0.25) !important;
}

.who-we-serve-section textarea {
    min-height: 164px !important;
    resize: vertical;
}

.who-we-serve-section .ginput_container_name {
    display: flex !important;
    gap: 30px !important;
}

.who-we-serve-section .name_first,
.who-we-serve-section .name_last {
    flex: 1 1 0% !important;
    width: 100% !important;
}

.who-we-serve-section .ginput_counter {
    color: rgba(248, 243, 234, 0.6) !important;
    font-family: var(--font-mulish, 'Mulish', sans-serif) !important;
    font-size: 12px !important;
    margin-top: 6px !important;
}

.who-we-serve-section .gform_footer {
    margin-top: 32px !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.form-block {
    z-index: 1 !important
}

.gform-theme--framework .gfield_validation_message:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    --gf-local-color: var(--color-orange-primary, '#EC7357') !important;
}

.who-we-serve-section .gform_validation_errors {
    background-color: #381A60 !important;
    border: 2px solid var(--color-orange-primary, '#EC7357') !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
    padding: 24px 28px !important;
    margin-bottom: 32px !important;
    outline: none !important;
}

.who-we-serve-section .gform_submission_error {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: var(--color-bdg, '#F8F3EA') !important;
    font-family: var(--font-mulish, 'Mulish', sans-serif) !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    margin: 0 0 16px 0 !important;
}

.who-we-serve-section .gform-icon--circle-error {
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 20px !important;
    height: 20px !important;
    background-color: var(--color-orange-primary, '#EC7357') !important;
    border-radius: 50% !important;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/></svg>") center/contain no-repeat !important;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/></svg>") center/contain no-repeat !important;
}

.who-we-serve-section .gform_validation_errors ol {
    margin: 0 !important;
    padding-left: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.who-we-serve-section .gform_validation_errors li {
    color: var(--color-bdg, '#F8F3EA') !important;
    font-family: var(--font-mulish, 'Mulish', sans-serif) !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
}

.who-we-serve-section .gform_validation_error_link {
    color: var(--color-bdg, '#F8F3EA') !important;
    text-decoration: none !important;
    border-bottom: 1px dashed rgba(248, 243, 234, 0.4) !important;
    transition: color 0.2s ease, border-color 0.2s ease !important;
}

.who-we-serve-section .gform_validation_error_link:hover {
    color: var(--color-orange-primary, '#EC7357') !important;
    border-bottom-color: var(--color-orange-primary, '#EC7357') !important;
}

.who-we-serve-section .gform_button {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 197px !important;
    height: 64px !important;
    padding: 0 20px !important;

    color: var(--color-purple-primary, '#24113F') !important;
    font-family: var(--font-mulish, 'Mulish', sans-serif) !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    text-align: center !important;
    cursor: pointer !important;

    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="197" height="64" viewBox="0 0 197 64" fill="none"><path d="M13.5024 4.82567C35.5271 -8.21455 89.4724 9.37138 128.729 8.76244C152.652 8.39134 175.794 3.42262 189.395 13.5398C202.997 23.6569 196.035 47.8964 168.114 54.1066C140.193 60.3168 123.373 54.4356 93.4727 57.8599C63.5725 61.2843 32.3507 68.6752 15.877 57.98C-0.596782 47.2849 -8.52223 17.8659 13.5024 4.82567Z" fill="%23F8F3EA"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;

    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), filter 0.3s ease !important;
}

.who-we-serve-section .gform_button:hover {
    transform: scale(1.05) rotate(-1deg) !important;
    filter: drop-shadow(0px 8px 16px rgba(0, 0, 0, 0.25)) !important;
}

.who-we-serve-section .gform_button:active {
    transform: scale(0.98) !important;
}

.who-we-serve-section .gform_footer::after {
    content: "We typically respond within 24-48 hours";
    color: rgba(248, 243, 234, 0.7);
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 14px;
    line-height: 20px;
}

.our-services-section {
    display: flex;
    flex-direction: column;
    gap: 50px;
    padding-top: 11% !important;
}

.our-services-section .decor-shape-orange-4 {
    position: absolute;
    top: -1%;
    right: 0%;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='176' viewBox='0 0 1440 176' fill='none'%3E%3Cpath d='M1533.62 151.656C1295.6 219.059 920.905 125.625 583.878 61.763C378.493 22.8455 47.7482 87.9426 -29.229 -18.1467C-106.206 -124.236 46.549 -309.086 308.518 -310.63C570.487 -312.173 691.227 -234.878 959.334 -210.305C1227.44 -185.731 1522.1 -191.087 1621.34 -75.2653C1720.57 40.5567 1771.64 84.2525 1533.62 151.656Z' fill='%23EC7357'/%3E%3C/svg%3E");
}

.our-services-section .decor-shape-left-bottom-purple {
    position: absolute;
    bottom: 0%;
    right: 40%;
    width: 100%;
    height: 8%;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='592' height='330' viewBox='0 0 592 330' fill='none'%3E%3Cpath d='M-242.869 14.6032C-102.037 -63.4398 97.4598 194.274 287.594 246.253C403.463 277.929 545.503 271.239 583.6 376.442C621.696 481.645 517.732 643.811 366.96 655.614C216.188 667.416 151.242 593.291 -1.53901 578.694C-154.32 564.098 -324.118 581.065 -374.449 466.804C-424.781 352.542 -383.701 92.6462 -242.869 14.6032Z' fill='%235A2CA0'/%3E%3C/svg%3E");
    pointer-events: none;
    background-position: top center;
    background-repeat: no-repeat;
}

.wwd-grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1300px;
    margin: 0 auto;
    padding: 20px 0;
    box-sizing: border-box;
}

.wwd-card {
    position: relative;
    background: var(--color-bdg, '#F8F3EA');
    border-radius: 0px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    isolation: isolate;
    cursor: pointer;
    transition:
        transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
        outline-width 0.2s ease;
}

.wwd-card-header {
    position: relative;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    overflow: hidden;
}

.wwd-card-icon {
    position: relative;
    z-index: 2;
}

.wwd-card-icon svg {
    color: var(--color-purple-primary, '#24113F');
    display: block;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.wwd-card-body {
    position: relative;
    padding: 24px 16px 32px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.wwd-card-number {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-size: 20px;
    color: var(--color-purple-primary, '#24113F');
    margin-bottom: 8px;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.giving-back-section .text-lead {
    max-width: 85% !important;
}

.wwd-card-title {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.25;
    color: var(--color-purple-primary, '#24113F');
    margin: 0 !important;
    position: relative;
    padding-bottom: 12px;
}

.wwd-card.wwd-purple {
    --wwd-accent: #55309A;
    --wwd-tint: rgba(222, 210, 244, 0.35);
    --wwd-glow: rgba(85, 48, 154, 0.32);
    outline: 1px solid var(--wwd-accent);
    outline-offset: -1px;
}

.wwd-card.wwd-coral {
    --wwd-accent: var(--color-orange-primary, '#EC7357');
    --wwd-tint: rgba(236, 115, 87, 0.20);
    --wwd-glow: rgba(236, 115, 87, 0.32);
}

.wwd-card.wwd-green {
    --wwd-accent: var(--color-green-primary, '#679436');
    --wwd-tint: rgba(103, 148, 54, 0.20);
    --wwd-glow: rgba(103, 148, 54, 0.32);
}

.wwd-card.wwd-yellow {
    --wwd-accent: #FFCC00;
    --wwd-tint: rgba(255, 204, 0, 0.20);
    --wwd-glow: rgba(214, 168, 0, 0.32);
}

.wwd-card {
    outline: 1px solid var(--wwd-accent);
    outline-offset: -1px;
}

.wwd-card-header {
    background-color: var(--wwd-tint);
    border-bottom-color: var(--wwd-accent);
}


.wwd-card:hover {
    transform: translateY(-10px) scale(1.015);
    box-shadow:
        0 22px 45px -14px var(--wwd-glow),
        0 4px 10px -2px rgba(36, 17, 63, 0.10);
    outline-width: 1.5px;
}

.wwd-card:focus,
.wwd-card:focus-within {
    outline: 1px solid var(--wwd-accent);
}

.wwd-card-header::after {
    content: "";
    position: absolute;
    top: 0;
    left: -160%;
    width: 55%;
    height: 100%;
    background: linear-gradient(115deg,
            transparent 0%,
            rgba(255, 255, 255, 0.65) 50%,
            transparent 100%);
    transform: skewX(-18deg);
    transition: left 0.75s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
    z-index: 1;
}

.wwd-card:hover .wwd-card-header::after {
    left: 160%;
}

.wwd-card:hover .wwd-card-icon svg {
    transform: scale(1.16) rotate(-6deg);
}

.wwd-card:hover .wwd-card-number {
    transform: translateY(-2px);
    opacity: 0.65;
}

.wwd-card-title::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--wwd-accent);
    transform: translateX(-50%);
    transition: width 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.wwd-card:hover .wwd-card-title::after {
    width: 42px;
}


.wwd-card:active {
    transform: translateY(-4px) scale(0.985);
    box-shadow:
        0 10px 22px -10px var(--wwd-glow),
        0 2px 6px -1px rgba(36, 17, 63, 0.12);
    transition:
        transform 0.12s cubic-bezier(0.4, 0, 0.6, 1),
        box-shadow 0.12s ease;
}

.wwd-card:active .wwd-card-icon svg {
    transform: scale(1.05) rotate(-3deg);
    transition: transform 0.12s ease;
}

.wwd-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--wwd-accent);
    opacity: 0;
    transform: scale(0.3);
    transition: opacity 0.35s ease, transform 0.35s ease;
    pointer-events: none;
    z-index: 0;
}

.wwd-card:active::before {
    opacity: 0.10;
    transform: scale(1);
    transition: opacity 0.05s ease, transform 0.05s ease;
}


@media (prefers-reduced-motion: reduce) {

    .wwd-card,
    .wwd-card-icon svg,
    .wwd-card-number,
    .wwd-card-title::after,
    .wwd-card-header::after,
    .wwd-card::before {
        transition: none !important;
    }
}

.who-we-serve-section .gform_confirmation_wrapper {
    background-color: var(--color-purple-primary, '#24113F') !important;
    border-radius: 20px !important;
    padding: 64px 48px !important;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25) !important;
    max-width: 1248px !important;
    margin: 0 auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.who-we-serve-section .gform_confirmation_message {
    color: var(--color-bdg, '#F8F3EA') !important;
    font-family: var(--font-merriweather, 'Merriweather', sans-serif) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: 36px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 40px 24px !important;
    background: #55309A !important;
    border-radius: 12px !important;
    border: 1px solid rgba(248, 243, 234, 0.15) !important;
}

.hero-subpage .text-headline {
    max-width: 860px !important;
}

.team-avatars-wrapper {
    display: flex !important;
    align-items: center !important;
    margin-top: 24px !important;
    margin-bottom: 32px !important;
}

figure.avatar-circle {
    width: 97px !important;
    height: 97px !important;
    border-radius: 50% !important;
    border: 4.5px solid #F4F0E4 !important;
    box-shadow: 0px 6px 15px rgba(34, 26, 56, 0.12) !important;
    margin: 0 0 0 -24px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    position: relative !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

figure.avatar-circle:first-child {
    margin-left: 0 !important;
}

figure.avatar-circle img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    display: block !important;
    opacity: 0.6 !important;
    transition: opacity 0.3s ease !important;
}

figure.avatar-circle.avatar-1 {
    --accent-color: #A37A4A;
    background-color: var(--accent-color) !important;
}

figure.avatar-circle.avatar-2 {
    --accent-color: #6B4EAD;
    background-color: var(--accent-color) !important;
}

figure.avatar-circle.avatar-3 {
    --accent-color: #8A9A5B;
    background-color: var(--accent-color) !important;
}

figure.avatar-circle.avatar-4 {
    --accent-color: #E07A5F;
    background-color: var(--accent-color) !important;
}

figure.avatar-circle.avatar-5 {
    --accent-color: #3D2B5A;
    background-color: var(--accent-color) !important;
}

figure.avatar-circle.avatar-6 {
    --accent-color: #D4B87C;
    background-color: var(--accent-color) !important;
}

figure.avatar-circle:hover {
    border-color: var(--accent-color) !important;
    transform: translateY(-5px) !important;
    z-index: 10 !important;
}

figure.avatar-circle:hover img {
    opacity: 1 !important;
}

.client-stats-grid {
    display: flex !important;
    gap: 15px !important;
    margin-top: 32px !important;
}

.client-stats-grid .stat-card {
    width: 160px !important;
    height: 141px !important;
    background-color: rgba(103, 148, 54, 0.08) !important;
    border: 1px solid var(--color-green-primary, '#679436') !important;
    padding: 20px 18px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    position: relative !important;
    overflow: hidden !important;
}

.client-stats-grid .stat-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: var(--color-green-primary, '#679436') !important;
    opacity: 0 !important;
    transform: scaleY(0) !important;
    transform-origin: bottom !important;
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), opacity .4s ease !important;
    z-index: 0 !important;
}

.client-stats-grid .stat-card:hover::before {
    transform: scaleY(1) !important;
    opacity: .12 !important;
}

.client-stats-grid .stat-number {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: 37px !important;
    line-height: 1 !important;
    color: var(--color-purple-primary, '#24113F') !important;
    position: relative !important;
    z-index: 1 !important;
}

.client-stats-grid .stat-label {
    font-family: var(--font-mulish, 'Mulish', sans-serif) !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    color: var(--color-purple-primary, '#24113F') !important;
    position: relative !important;
    z-index: 1 !important;
}

.partnership-section .text-headline {
    max-width: 100% !important;
}

.partnership-section .about-team-section {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    padding: 0px 4% 0px 0px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
}

.partnership-section .text-badge {
    margin-bottom: 1.6em !important;
}

.partnership-section .about-col {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.partnership-text-1 {
    min-height: 120px !important;
    margin-bottom: 32px !important;
}

.partnership-text-2 {
    min-height: 90px !important;
    margin-bottom: 32px !important;
}

.text-badge-2 {
    font-size: 24px !important;
}

.entry-content[data-ast-blocks-layout]>.separator-1270,
.entry-content>.separator-1270,
hr.separator-1270 {
    max-width: 1270px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.separator-green {
    border: 0;
    border-top: 6px solid #6b8f2a !important;
    opacity: 1;


}

.services-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 114px;
    max-width: 94% !important;
    margin: 0 auto !important;
    margin-top: 3% !important;
    padding: 20px;
}

.services-card-item {
    position: relative;
    scroll-margin-top: 20px;
    --svc-shadow:
        0 2px 4px rgba(var(--accent-rgb), .10),
        0 14px 28px -10px rgba(var(--accent-rgb), .30),
        0 34px 60px -24px rgba(36, 17, 63, .28);
}

@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}


.services-cards-stack .card-item:has(a),
.services-cards-stack .card-purple {
    position: relative !important;
}

.wwd-card-title a::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
}

.wwd-card-title a {
    font-size: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ast-single-post .entry-content a,
.ast-comment-content a:not(.ast-comment-edit-reply-wrap a) {
    text-decoration: none;
}


.services-card-number {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-size: 96px;
    line-height: 1;
    position: absolute;
    top: -73px;
    left: -68px;
    z-index: 1;
    user-select: none;
    transition: transform .5s cubic-bezier(.22, .8, .24, 1);
    font-weight: 100;
}

.services-card-content {
    position: relative;
    z-index: 2;
    overflow: hidden;
    background-color: var(--color-bdg, '#F8F3EA');
    margin-left: 40px;
    padding: 40px 30px;
    text-align: center;
    transition:
        transform .5s cubic-bezier(.22, .8, .24, 1),
        box-shadow .5s cubic-bezier(.22, .8, .24, 1),
        background-color .4s ease,
        outline-color .3s ease,
        outline-width .3s ease,
        outline-offset .3s ease;
}

.services-card-content::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(115deg,
            transparent 30%,
            rgba(var(--accent-rgb), .10) 45%,
            rgba(255, 255, 255, .55) 50%,
            rgba(var(--accent-rgb), .10) 55%,
            transparent 70%);
    transform: translateX(-120%);
}

.services-card-content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .6s cubic-bezier(.22, .8, .24, 1);
}

.services-card-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 24px !important;
}

.rest-cards {
    margin-top: 20px !important;
	justify-content: center;
}

.rest-cards .services-card-icon-box {
    margin-bottom: 0;
}

.services-card-icon-box {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    transition:
        transform .5s cubic-bezier(.34, 1.56, .64, 1),
        background-color .3s ease;
}

.services-card-icon {
    width: 58px;
    height: 58px;
    fill: var(--color-purple-primary, '#24113F');
}

.services-card-title {
    color: var(--color-purple-primary, '#24113F');
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-size: 36px;
    font-weight: 400;
    margin: 0;
    line-height: 1.2;
}

.services-card-description {
    color: var(--color-dark-light, '#5B575B');
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 19px;
    line-height: 1.6;
    max-width: 1000px;
    margin: 0 auto;
}

.b-corp-section {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.services-card-purple {
    --accent: #55309A;
    --accent-rgb: 85, 48, 154;
    --accent-strong: #55309A;
}

.services-card-orange {
    --accent: var(--color-orange-primary, '#EC7357');
    --accent-rgb: 236, 115, 87;
    --accent-strong: #D0573A;
}

.services-card-green {
    --accent: var(--color-green-primary, '#679436');
    --accent-rgb: 103, 148, 54;
    --accent-strong: #567D2C;
}

.services-card-yellow {
    --accent: #FFCC00;
    --accent-rgb: 255, 204, 0;
    --accent-strong: #A88400;
}

.services-card-purple .services-card-number {
    color: rgba(85, 48, 154, 0.25);
}

.services-card-purple .services-card-content {
    outline: 1px solid #55309A;
}

.services-card-purple .services-card-icon-box {
    background: rgba(222, 210, 244, 0.3);
    outline: 1px solid #55309A;
}

.services-card-orange .services-card-number {
    color: rgba(236, 115, 87, 0.25);
}

.services-card-orange .services-card-content {
    outline: 1px solid var(--color-orange-primary, '#EC7357');
}

.services-card-orange .services-card-icon-box {
    background: rgba(236, 115, 87, 0.2);
    outline: 1px solid var(--color-orange-primary, '#EC7357');
}

.services-card-green .services-card-number {
    color: rgba(103, 148, 54, 0.25);
}

.services-card-green .services-card-content {
    outline: 1px solid var(--color-green-primary, '#679436');
}

.services-card-green .services-card-icon-box {
    background: rgba(103, 148, 54, 0.2);
    outline: 1px solid var(--color-green-primary, '#679436');
}

.services-card-yellow .services-card-number {
    color: rgba(255, 178, 102, 0.35);
}

.services-card-yellow .services-card-content {
    outline: 1px solid #FFCC00;
}

.services-card-yellow .services-card-icon-box {
    background: rgba(255, 204, 0, 0.2);
    outline: 1px solid #FFCC00;
}


@media (hover: hover) {
    .services-card-item:hover .services-card-content {
        transform: translateY(-6px);
        box-shadow: var(--svc-shadow);
    }

    .services-card-item:hover .services-card-content::before {
        transform: translateX(120%);
        transition: transform .9s cubic-bezier(.22, .8, .24, 1);
    }

    .services-card-item:hover .services-card-content::after {
        transform: scaleX(1);
    }

    .services-card-item:hover .services-card-icon-box {
        transform: scale(1.08) rotate(-4deg);
        background: rgba(var(--accent-rgb), .28);
    }

    .services-card-item:hover .services-card-number {
        transform: translate(-6px, -6px);
    }
}

.services-card-item:target .services-card-content {
    transform: translateY(-6px);
    box-shadow: var(--svc-shadow);
}

.fx-frame .services-card-title {
    display: inline-block;
    padding-bottom: 8px;
    background: linear-gradient(var(--accent-strong), var(--accent-strong)) no-repeat 50% 100% / 0 3px;
    transition: background-size .6s cubic-bezier(.22, .8, .24, 1) .3s;
}

.fx-frame .services-card-item:target .services-card-content {
    outline-color: var(--accent-strong);
    outline-width: 3px;
    outline-offset: 8px;
    background-color: color-mix(in srgb, var(--accent) 7%, var(--color-bdg, '#F8F3EA'));
}

.fx-frame .services-card-item:target .services-card-title {
    background-size: 100% 3px;
}

@keyframes svcSweep {
    from {
        transform: translateX(-120%);
    }

    to {
        transform: translateX(120%);
    }
}

.fx-spotlight .services-card-item:target .services-card-content::after {
    transform: scaleX(1);
}

.fx-spotlight .services-card-item:target .services-card-content::before {
    animation: svcSweep 1.2s ease-out .4s both;
}

.fx-spotlight .services-card-item:target .services-card-icon-box {
    transform: scale(1.08) rotate(-4deg);
    background: rgba(var(--accent-rgb), .28);
}


@keyframes svcRing {
    0% {
        box-shadow: 0 0 0 0 rgba(var(--accent-rgb), .55), var(--svc-shadow);
    }

    100% {
        box-shadow: 0 0 0 30px rgba(var(--accent-rgb), 0), var(--svc-shadow);
    }
}

.fx-pulse .services-card-item:target .services-card-content {
    animation: svcRing 1.1s ease-out .4s 2;
}


@media (prefers-reduced-motion: reduce) {

    .services-cards-stack *,
    .services-cards-stack *::before,
    .services-cards-stack *::after {
        animation: none !important;
        transition: none !important;
    }
}

.tech-section .decor-shape-right-purple-1 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='319' height='878' viewBox='0 0 319 878' fill='none'%3E%3Cpath d='M278.794 1441.56C148.655 1350.23 158.398 1474.45 109.389 1236.51C60.3799 998.576 259.898 628.304 261.39 467.061C262.882 305.818 -64.3981 -180.285 11.3887 -329.711C87.1754 -479.137 464.33 -382.419 556.69 -207.355C649.049 -32.2905 590.761 252.69 624.349 442.769C657.937 632.848 712.831 1270.24 657.041 1404.12C601.252 1538 379.062 1495 278.794 1441.56Z' fill='%23EC7357'/%3E%3C/svg%3E");
}

.tech-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1235px !important;
    margin: 0 auto;
    box-sizing: border-box;
    margin-bottom: 30px !important;
    margin-top: 50px !important;
}

.partnership-section .text-lead {
    margin-bottom: 1.6rem !important;
    max-width: 80% !important
}

.tech-card {
    display: flex;
    min-height: 182px;
    background-color: var(--color-bdg);
    overflow: hidden;
    position: relative;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tech-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(36, 17, 63, 0.08);
}

.tech-card-sidebar {
    width: 75px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}


.tech-card-content {
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}

.tech-card-subtitle {
    font-family: var(--font-mulish, 'Mulish', sans-serif);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.2;
}

.tech-card-title {
    font-family: var(--font-merriweather, 'Merriweather', sans-serif);
    font-style: italic;
    font-size: 30px;
    font-weight: 400;
    color: var(--color-purple-primary, '#24113F');
    margin: 0 !important;
    line-height: 1.2;
}

.tech-card-purple {
    outline: 2px solid #55309A;
    outline-offset: -2px;
}

.tech-card-purple .tech-card-sidebar {
    background-color: var(--color-purple-light, '#DED2F4');
    outline: 1px solid #55309A;
}

.tech-card-purple .tech-card-subtitle {
    color: var(--color-purple-primary, '#24113F');
}

.tech-card-orange {
    outline: 2px solid var(--color-orange-primary, '#EC7357');
    outline-offset: -2px;
}

.tech-card-orange .tech-card-sidebar {
    background-color: rgba(236, 115, 87, 0.20);
    outline: 1px solid var(--color-orange-primary, '#EC7357');
}

.tech-card-orange .tech-card-subtitle {
    color: var(--color-purple-primary, '#24113F');
}

.tech-card-green {
    outline: 2px solid var(--color-green-primary, '#679436');
    outline-offset: -2px;
}

.tech-card-green .tech-card-sidebar {
    background-color: rgba(103, 148, 54, 0.20);
    outline: 1px solid var(--color-green-primary, '#679436');
}

.tech-card-green .tech-card-subtitle {
    color: var(--color-purple-primary, '#24113F');
}

.statement-content {
    max-width: 925px !important;
    margin-top: 4% !important;
    margin-bottom: 5% !important;

}

.statement-content h2 {
    margin-top: 24px !important;
}

.statement-content .who-we-serve-text {
    margin-bottom: 37px !important;
    margin-top: 6% !important;
}

.testament-section .decor-shape-orange-5 {
    height: 500px;
}
.testament-section{
	position: relative;
  display: flex;
	flex-direction: row;
	    justify-content: space-between;
}
.accessibility-image-container {
    width: 40%!important;
    height: 40%!important;
    margin-top: 343px;
	border-radius: 12px;
    border: 2px solid #55309A;
    box-shadow: 0 4px 16px rgba(85, 48, 154, 0.12);
}
.privacy-section .decor-shape-top-green-5 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='109' viewBox='0 0 1440 109' fill='none'%3E%3Cpath d='M61.9305 -9.73102H2028C2028 -9.73102 1966.07 -213.197 1952.95 -172.657C1903.47 -19.7872 1279.14 -8.72385 1279.14 -8.72385C1279.14 -8.72385 1247.21 55.5832 1051.77 55.4008C854.206 55.2164 532.968 97.6667 532.968 97.6667C532.968 97.6667 -86.0457 155.414 -135.359 10.2039C-149.081 -30.2023 61.9305 -9.73102 61.9305 -9.73102Z' fill='%2355309A'/%3E%3C/svg%3E");
}

.sector-cards-no-hover .sector-item:hover .sector-item-dash {
    width: 32px;
}

.sector-cards-no-hover .sector-item:hover {
    transform: translateX(0px);
}

.sector-cards-no-hover .card-orange .sector-item:hover .sector-item-text {
    color: var(--color-dark-primary, '#121018');
}

.wp-image-1161,
.wp-image-2194 {
    aspect-ratio: 4 / 3 !important;
    object-position: center 20% !important;
}

.meet-people-content {
    margin-bottom: 0 !important;
}

.text-group-spacing {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.full-width-content .text-lead {
    max-width: 85% !important
}
.testament-section .who-we-serve-text .text-lead, .privacy-section .who-we-serve-text .text-lead {
    margin-bottom: 10px!important;
}

.testament-section .who-we-serve-text .text-headline {
    max-width: 84% !important;
}


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

@media (min-width: 1700px) {
    .ethics-section .text-max-width-70 {
        max-width: 60% !important;
    }
}
@media (max-width: 1580px) {
.accessibility-image-container {
    width: 30%;
    height: 30%;
    margin-top: 328px;
}
}

@media (min-width: 1500px) {
    aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image {
        height: 100px !important;
        max-width: 122px;
        min-width: 130px;
    }

    aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image img {
        max-width: 118px !important;
        height: 71px !important;
    }

    .wp-image-3069 {
        max-width: 130px !important;
        height: 94px !important;
    }
	    .cert-icon-wrapper .wp-image-3069 {
        max-width: 126px !important;
        height: 103px !important;
    }
	aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image .wp-image-3069 {
    max-width: 123px !important;
    height: 96px !important;
}
}

@media (max-width: 1450px) {
    .decor-shape-orange-4 {
        height: 11%;
    }
      .decor-shape-right-orange-about {
        right: -26%;
    }

    .our-purpose-section .text-group-spacing {
        max-width: 80% !important
    }
}

@media (max-width: 1310px) {
    .decor-shape-green-2 {
        right: -20%;
    }

    .partnership-section .text-headline {
        max-width: 90% !important;
    }
       .services-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
        align-items: stretch;
    }

    .service-card {
        padding: 32px 24px 40px;
    }

    .service-card:nth-child(2),
    .service-card:nth-child(4) {
        transform: none;
    }

    .service-card:nth-child(2):hover,
    .service-card:nth-child(4):hover {
        transform: translateY(-8px);
    }
      .testimonial-quote {
        font-size: 32px;
        line-height: 46px;
    }

    .testimonial-icon {
        font-size: 115px;
        left: -46px;
        top: -21px;
    }
      .trc-heading {
        font-size: 64px;
        line-height: 78px;
    }
      .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-7"] {
        flex: 0 0 16% !important;
        max-width: 16% !important;
    }

    .decor-shape-right-orange-about {
        right: -44%;
        width: 75%;
    }
}

@media (min-width: 994px) and (max-width: 1151px) {
    .how-we-work-hero .hero-left-side {
        padding: 2% 3% !important;
    }

    .hero-subpage .text-82 {
        line-height: 82.6px !important;
    }

    figure.avatar-circle {
        width: 80px !important;
        height: 80px !important;
    }
}

@media (max-width: 1124px) {
    .decor-shape-orange-3 {
        right: -52%;
        width: 92%;
    }

    .text-82 {
        font-size: 60px;
        line-height: 1.3
    }

    .impact-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .accessibility-image-container {
        margin-top: 243px;
    }
    .trc-grid {
        grid-template-columns: minmax(0, 1fr) 392px;
    }

    .impact-card:nth-child(2),
    .impact-card:nth-child(3),
    .impact-card:nth-child(4) {
        margin-top: 0;
    }

    .principles-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .principle-card:nth-child(2),
    .principle-card:nth-child(3),
    .principle-card:nth-child(4) {
        margin-top: 0;
    }

    .text-block-green p {
        font-size: 37px;
        line-height: 1.3;
        max-width: 812px !important;
    }

    .our-services-section {
        gap: 20px;
    }

    .services-cards-stack {
        margin-top: 5% !important;
    }

    .services-card-number {
        font-size: 76px;
        top: -54px;
        left: -49px;
    }

    .text-headline {
        line-height: 71.6px;
        font-size: 60px;
    }

    .text-badge {
        font-size: 17px;
        line-height: 18px;
    }
      .orange-bg-quote {
        bottom: -11%;
    }

    .testimonial-section {
        padding: 12% 8% 30% 8% !important;
    }

      .decor-shape-right-orange-about {
        right: -48%;
        width: 88%;
    }

}

@media (max-width: 1024px) {
    .certifications-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin-top: 30px !important;
    }

    .how-we-approach-section .who-we-serve-content {
        margin-top: 12% !important;
        align-items: center;
    }

    .ethically-section {
        padding-bottom: 37% !important;
    }

    .text-block-purple {
        padding: 40px 5%;
    }

    .text-block-purple p {
        font-size: 32px;
        line-height: 1.35;
        letter-spacing: -1px;
    }

    .procurement-section {
        padding: 30px 80px 20% 80px !important
    }
       .wwd-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }


    #nav_menu-3,
    #nav_menu-4 {
        text-align: -webkit-center !important;
    }

    #block-26 h2 {
        justify-self: center;

    }

    .site-primary-footer-inner-wrap.ast-builder-grid-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 40px !important;
    }

    .ast-footer-social-1-wrap {
        justify-items: center;
    }

    #block-17 p {
        margin: 0;
    }

    .site-primary-footer-wrap {
        padding-top: 0;
        padding-bottom: 0;
    }


    .recognition-text {
        white-space: normal !important;
        word-break: normal !important;
    }

    .site-below-footer-inner-wrap.ast-builder-grid-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .site-footer-below-section-2 {
        display: flex !important;
        gap: 20px !important;
    }

    .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
        justify-self: center;
    }

    .site-below-footer-wrap[data-section="section-below-footer-builder"].ast-footer-row-tablet-stack .site-footer-section {
        width: 100%;
    }

    .site-footer-focus-item .footer-widget-area-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 20px;
    }

    #block-38 {
        margin-bottom: 0px !important
    }

    .site-above-footer-inner-wrap.ast-builder-grid-row {
        flex-direction: column !important;
        gap: 40px !important;
    }

    #block-17 p {
        text-align: center;
    }

    .site-footer-above-section-1,
    .site-footer-above-section-2 {
        width: 100% !important;
        max-width: 100% !important;
    }

    .site-footer-above-section-1 {
        border-bottom: 1px solid var(--main-colors-white-10, rgba(255, 255, 255, 0.10));
        padding-bottom: 24px;
        align-items: flex-start !important;
    }

    .site-footer-above-section-2 {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 32px 20px !important;
    }

    .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-1"],
    .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-7"] {
        flex: 1 1 45% !important;
        max-width: 48% !important;
        min-width: 180px !important;
    }

    .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-8"] {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }

    .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-8"] {
        border-top: 1px solid var(--main-colors-white-10, rgba(255, 255, 255, 0.10)) !important;
        padding-top: 32px !important;
        border-left: none !important;
        padding-left: 0px !important;
    }

    #block-37 p {
        max-width: 100%;
        text-align: center;
    }

    #block-38 p {
        place-self: center;
		display: flex;
justify-content: center;
    }
     .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-8"] {
        border-right: none !important;
        padding-right: 0 !important;
    }

}

@media (max-width: 994px) {
	.testament-section {
    flex-direction: column-reverse;
}
	.testament-section .who-we-serve-text .text-headline {
    max-width: 100% !important;
}
	    .accessibility-image-container {
        margin-top: 10%;
	    width: 80% !important;
        height: 100% !important;
        max-width: 500px;
        margin: 0 auto;
		margin-top: 12%;
    }

	.services-cards-stack {
    max-width: 100% !important;
    padding: 0px;
}
    .who-we-serve-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .who-we-serve-text .text-headline {
        font-size: 36px !important;
        line-height: 1.2 !important;
        letter-spacing: -1px !important;
        max-width: 100% !important;
    }

    .who-we-serve-text .text-lead {
        max-width: 100% !important;
        text-align: center;
    }

    .sector-card {
        padding: 28px;
    }

    .sector-card.card-purple {
        margin-left: 0;
    }

    .sector-item-text {
        font-size: 20px;
    }

    .who-we-serve-section .decor-shape-1,
    .who-we-serve-section .decor-shape-2 {
        display: none;
    }

    .stats-section {
        flex-direction: column !important;
    }

    .stat-item {
        width: 100% !important;
        min-height: 150px !important;
        padding: 24px 20px !important;
    }

    .stat-item .stat-number {
        font-size: 40px !important;
    }

    .stat-item.stat-bcorp .stat-number {
        font-size: 30px !important;
    }

    .stat-item .stat-label {
        font-size: 14px !important;
        letter-spacing: 1.2px !important;
        max-width: 100%;
    }

    .sectors-we-serve-section .who-we-serve-content {
        display: flex;
        align-items: center;
    }

    .accountability-section .who-we-serve-text {
        justify-self: center;
    }

    .who-we-serve-text .accessibility-text-lead {
        max-width: 100% !important;
    }

    .decor-shape-orange-4 {
        height: 8%;
    }

    .ethics-section .text-lead {
        max-width: 100% !important;
        text-align: center;
    }

    .who-we-serve-text .commitments-headline {
        max-width: 100% !important;
    }

    .commitments-section {
        margin-bottom: 25% !important;
    }

    .why-we-do-side-image {
        width: 40%;
        align-self: center;
    }

    .hero-subpage .text-headline {
        max-width: 100% !important;

    }

    .list-green .text-lead {
        width: 50%;
        margin: 0 auto !important;
    }

    .decor-shape-orange-5 {
        bottom: -36%;
    }

    .feature-cards-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .trc-grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .trc-content {
        text-align: center;
    }

    .trc-heading {
        padding-bottom: 12px;
    }

    .feature-card {
        padding: 32px 24px 52px 24px;
    }

    .feature-card-title {
        font-size: 28px;
    }

    .feature-card-text p {
        font-size: 16px;
    }

    .phase-row {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    .sector-card {
        padding: 24px;
        width: 100%;
    }

    .phase-title {
        font-size: 42px;
    }

    .info-cards-stack {
        margin-top: 3% !important;
    }

    .accessibility-section {
        padding-bottom: 34% !important;
    }

    .text-margin-bottom {
        justify-self: center;
    }

    .bcorp-card__label,
    .bcorp-card__number {
        text-align: center;
    }

    .b-corp-section {
        text-align-last: center;
    }

    .certification-content-width {
        max-width: 100% !important;
    }

    .bcorp-score-grid {
        justify-content: center;
    }

    .certification-content-width {
        text-align: center;
    }

    .text-margin-bottom {
        text-align: center;
    }

    .one-card {
        width: 100%;
        max-width: 100% !important;
    }

    .giving-back-section {
        text-align: center;
    }

    .wp-block-button.download-btn>.wp-block-button__link {
        padding: 15px 24px 13px 24px !important;
        min-width: 150px !important;
        min-height: 64px !important;
        background-size: 150px 64px !important;
    }

    .accountability-section {
        padding: 50px 24px 24% 24px !important;
    }

    .hero-subpage .text-82 {
        line-height: 1.3 !important
    }

    .partnership-section .text-headline {
        max-width: 100% !important;
    }

    .partnership-section .who-we-serve-content {
        align-items: center;
    }

    .partnership-section .about-team-section {
        grid-template-columns: 1fr !important;
        gap: 48px !important;
        padding: 0px !important;
        text-align: center;
    }

    .partnership-section .who-we-serve-content .wp-block-group {
        margin-bottom: 0 !important;
    }

    .partnership-text-1,
    .partnership-2 {
        margin-bottom: 12px !important;
    }

    .team-avatars-wrapper,
    .client-stats-grid {
        align-self: center;
    }

    .client-stats-grid {
        flex-direction: column;
        width: 100%;
    }

    .client-stats-grid .stat-card {
        width: 100% !important;
        height: 100% !important;
    }

    .text-badge-2 {
        font-size: 21px !important;
    }

    .our-services-section .decor-shape-left-bottom-purple {
        height: 4%;
    }

    .partnership-section .text-lead {
        max-width: 100% !important;
        text-align: center;
    }

    .b-corp-section {
        align-items: center;
    }

    .giving-back-section .text-lead {
        max-width: 100% !important;
    }

    .decor-shape-top-green-4 {
        top: -8%;
    }

    .ast-builder-menu-1 .menu-item>.menu-link {
        padding: 0px 8px;
    }

    .hero-section>.wp-block-group.is-layout-flex {
        flex-direction: column !important;
        align-items: center !important;
    }

    .hero-section {
        background-size: 24px 24px;
    }

    .hero-left-side {
        padding: 40px 24px 32px 24px !important;
        width: 100% !important;
        align-items: center !important;
        text-align: center !important;
    }

    .text-badge {
        font-size: var(--fs-mulish-14) !important;
        letter-spacing: 0.5px;
        text-align: center !important;
    }

    .text-headline {
        font-size: 40px !important;
        line-height: 46px !important;
        letter-spacing: -1.5px !important;
        text-align: center !important;
    }

    .hero-body {
        max-width: 100% !important;
        font-size: var(--fs-mulish-16) !important;
        line-height: 26px !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .wp-block-buttons.wp-block-buttons-is-layout-flex {
        justify-content: center !important;
        align-items: center !important;
    }

    .hero-image {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 320px !important;
        flex-shrink: 1 !important;
    }

    .hero-section .wp-block-group:has(.hero-image) {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    .wp-block-buttons.wp-block-buttons-is-layout-flex {
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        row-gap: 14px !important;
        column-gap: 14px !important;
    }

    /* Smaller purple blob button */
    .wp-block-button.btn-blob-purple>.wp-block-button__link {
        font-size: var(--fs-mulish-16) !important;
        padding: 10px 28px 15px 28px !important;
        min-width: 160px !important;
        min-height: 58px !important;
        gap: 8px;
        background-size: 160px 58px !important;
    }

    .wp-block-button.btn-blob-purple>.wp-block-button__link:hover {
        background-size: 166px 61px !important;
    }

    .wp-block-button.btn-blob-purple>.wp-block-button__link::after {
        width: 16px;
        height: 16px;
    }

    /* Smaller orange outline blob button */
    .wp-block-button.btn-blob-orange-outline>.wp-block-button__link {
        font-size: var(--fs-mulish-16) !important;
        padding: 10px 24px 13px 24px !important;
        min-width: 130px !important;
        min-height: 54px !important;
        background-size: 130px 54px !important;
    }


    .who-we-serve-section .decor-shape-left-bottom-purple,
    .who-we-serve-section .decor-shape-right-dark-purple,
    .decor-shape-right-orange,
    .decor-shape-right-green,
    .bg-orange-shape-2,
    .decor-shape-left-bottom-green,
    .decor-shape-right-orange-about,
    .decor-shape-green-full,
    .decor-shape-orange-3,
    .decor-shape-green-2,
    .decor-shape-orange-6,
    .decor-shape-green-3,
    .decor-shape-right-purple-1 {
        display: none;
    }

    .process-cards {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .featured-work-container .text-headline {
        width: 100%;
    }

    .full-orange-button,
    .wp-block-button.full-orange-button>.wp-block-button__link {
        width: 220px !important;
        height: 80px !important;
        min-width: 220px !important;
        min-height: 80px !important;
        font-size: var(--fs-mulish-16) !important;
        padding: 0 20px !important;
    }

    .testimonial-grid {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 40px;
    }

    .testimonial-content,
    .testimonial-side-image {
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    .testimonial-author-name {
        justify-self: left;
        display: flex;
    }

    .testimonial-author-role {
        width: 450px;
        text-align: left;
    }

    .testimonial-side-image img {
        max-width: 100%;
        aspect-ratio: 4 / 3;
    }

    .cta-ready-section {
        margin-top: -80px !important;
        padding: 90px 20px 100px 20px !important;
    }

    .cta-ready-title {
        font-size: 52px;
        line-height: 1.1;
    }

    .cta-ready-buttons-card {
        flex-direction: column;
        padding: 24px;
        width: 100%;
    }

    .ast-header-break-point .footer-widget-area[data-section="sidebar-widgets-footer-widget-3"] {
        display: flex;
    }

    .wp-block-button.cta-purple>.wp-block-button__link,
    .wp-block-button.cta-purple>.wp-block-button__link:hover {
        background-size: 100% 100% !important;
        min-height: 66px !important;
    }

    .bg-orange-shape-2 {
        width: 100%;
        min-width: 100%;
        opacity: 0.9;
    }


    .who-we-serve-section figure.hero-subpage-image,
    figure.hero-subpage-image {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 320px !important;
    }

    .who-we-serve-section figure.hero-subpage-image,
    figure.hero-subpage-image {
        min-height: 100% !important;
    }

    .tech-cards-grid {
        grid-template-columns: 1fr;
    }

    .trc-section {
        padding: 60px 32px;
    }

    .trc-grid {
        grid-template-columns: 1fr;
        row-gap: 40px;
    }

    .trc-highlight {
        max-width: 518px;
    }

    .report-grid {
        grid-template-columns: 1fr;
        max-width: 522px;
		justify-items: center;
    }

    .our-purpose-section .text-group-spacing {
        max-width: 100% !important
    }

    .full-width-content .text-lead {
        max-width: 100% !important;
        text-align: center;
    }

    .decor-shape-top-purple {
        width: 100%;
    }

    .ethics-cards-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .bcorp-grid {
        grid-template-columns: repeat(2, 1fr);
    }
	.wp-image-2414 {
		width: 100% !important;
        max-width: 400px!important;
	}
	.testimonial-section{
		    padding: 60px 24px 30% !important;
	}
	    .services-card-number {
        font-size: 76px;
        top: -65px;
        left: -49px;
    }
	.no-margin{
		margin-bottom: 0!important;
	}
	.statement-content {
    margin-top: 0% !important;
}
	    .text-badge-2 {
        font-size: 19px !important;
    }
}

@media (max-width: 921px) {
    .astra-logo-svg:not(.sticky-custom-logo .astra-logo-svg,.transparent-custom-logo .astra-logo-svg,.advanced-header-logo .astra-logo-svg) {
        height: 48px;
    }
	[data-section="section-fb-social-icons-1"] .footer-social-inner-wrap {
		justify-content: center;
	}
}

@media (max-width: 800px) {
    .decor-shape-orange-4 {
        height: 5%;
    }

    .after-hero-container {
        grid-template-columns: 1fr;
        gap: 24px;
        padding-top: 32px;
    }

    .after-hero-text-section-purple .left-col .highlight-text {
        font-size: 22px;
    }

    .after-hero-text-section-purple .right-col .body-text {
        font-size: 16px;
    }

    aside[data-section="sidebar-widgets-footer-widget-2"] {
        grid-template-columns: repeat(3, 1fr) !important;
        column-gap: 20px !important;
        row-gap: 25px !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image {
        min-width: 85px;
        max-width: 103px;
        height: 60px !important;
    }

    aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image img {
        max-width: 90px !important;
        height: 34px !important;
    }

    aside[data-section="sidebar-widgets-footer-widget-2"] .recognition-image .wp-image-3069 {
        max-width: 90px !important;
        height: 47px !important;
    }

    .site-footer-primary-section-2 [data-section="sidebar-widgets-footer-widget-1"],
    .site-footer-primary-section-2 [data-section="sidebar-widgets-footer-widget-7"] {
        flex: 1 1 45% !important;
        min-width: 100% !important;
    }

    .site-footer-primary-section-2 [data-section="sidebar-widgets-footer-widget-2"] {
        max-width: 100% !important;
    }

    .text-block-green p {
        font-size: 35px;
        line-height: 1.3;
        max-width: 539px !important;
    }

    .who-we-serve-section .gform_confirmation_wrapper {
        padding: 32px 20px !important;
    }

    .who-we-serve-section .gform_confirmation_message {
        font-size: 24px !important;
        padding: 24px 16px !important;
    }

    .services-card-content {
        margin-left: 0;
        padding: 30px 20px;
        margin-top: 40px;
    }

    .services-card-number {
        font-size: 64px;
        top: -57px;
        left: 10px;
    }

    .services-card-title {
        font-size: 28px;
    }

    .services-card-description {
        font-size: 16px;
    }

    .fx-frame .services-card-item:target .services-card-content {
        outline-offset: 5px;
    }

    .who-we-serve-section .gform_wrapper.gform-theme {
        padding: 24px;
    }

    .who-we-serve-section .gform_title {
        font-size: 42px !important;
    }

    .who-we-serve-section .ginput_container_name {
        flex-direction: column !important;
        gap: 24px !important;
    }

    .who-we-serve-section .gform_button {
        transform: none !important;
    }

    .info-cards-stack {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .info-card {
        padding: 20px;
    }

    .cta-ready-top-wave {
        top: -107px;
    }

    .services-cards {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .decor-shape-right-green {
        right: -160px;
        width: 320px;
    }

    .testimonial-icon {
        display: none;
    }

    .testimonial-section {
        padding: 8% 5% 29% !important;
    }
}

@media (max-width: 700px) {
    .bcorp-grid {
        padding-top: 37px;
    }

    .text-margin-bottom {
        margin-bottom: 37px !important;
    }

    .bcorp-score-grid {
        margin-top: 37px !important;
    }

    .accountability-section {
        padding: 50px 24px 34% 24px !important;
    }

    .sector-cards {
        flex-direction: column;
    }

    .who-we-serve-text {
        margin-bottom: 0px !important;
    }
       .bcorp-score-grid {
        grid-template-columns: 1fr;
        max-width: 350px;
    }
       .orange-bg-quote {
        display: none
    }
	.giving-back-section .feature-card {
		 margin-top: 40px !important;
	}
}

@media (max-width: 640px) {
    .certifications-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .text-block-green p {
        font-size: 28px;
        line-height: 1.3;
        max-width: 439px !important;
    }

    .why-we-do-side-image {
        width: 70%;
    }

    .cert-card {
        padding: 24px 16px;
    }

    .list-green .text-lead {
        width: 70%;
        margin: 0 auto !important;
    }

    .impact-cards-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .impact-card {
        min-height: auto;
        padding: 24px 16px;
    }

    .principles-cards-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 5% !important;
    }

    .principle-card {
        min-height: auto;
        padding: 24px 16px;
    }

    .text-block-purple {
        padding: 32px 20px;
    }

    .text-block-purple p {
        font-size: 22px;
        line-height: 1.3;
        letter-spacing: -0.5px;
    }

    .our-services-section .decor-shape-left-bottom-purple {
        height: 1%;
    }
}

@media (max-width: 600px) {
    .site-footer-above-section-2 {
        flex-direction: column !important;
        gap: 24px !important;
    }

    .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-7"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-1"],
    .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-7"],
    .site-footer-above-section-2 [data-section="sidebar-widgets-footer-widget-8"] {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
.section-box {
  		    padding-left: 15px !important;
    padding-right: 15px !important;
}
	.our-services-section {
		    padding-left: 15px !important;
    padding-right: 15px !important;
	}
    .site-footer-above-section-1 {
        align-items: center !important;
        text-align: center !important;
    }

    .site-footer-above-section-1 aside {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    figure.avatar-circle {
        width: 80px !important;
        height: 80px !important;
    }

    .our-services-section .decor-shape-orange-4 {
        top: 0%;
    }

    .procurement-section {
        padding: 30px 20px 20% 20px !important;
    }
       .cta-ready-top-wave {
        top: -93px;
    }

    .testimonial-section {
        padding: 12% 8% 35% 8% !important;
    }

    .wwd-grid-container {
        grid-template-columns: 1fr;
    }

    .report-card {
        padding: 24px 18px;
        gap: 16px;
    }

    .report-card__title {
        font-size: 24px;
        line-height: 1.3;
    }

    .report-card__text {
        font-size: 16px;
        line-height: 1.45;
    }

    .report-card__button-inner {
        font-size: 16px;
        padding: 10px 18px;
        width: 100%;
        justify-content: center;
    }

    .report-card__button {
        width: 100%;
    }

    .ethics-cards-grid {
        grid-template-columns: 1fr !important;
    }

}

@media (max-width: 500px) {
    .decor-shape-orange-4 {
        height: 5%;
    }

    .decor-shape-orange-6 {
        right: -10%;
    }

    .ethically-section {
        padding-bottom: 47% !important;
    }

    aside[data-section="sidebar-widgets-footer-widget-2"] {
        grid-template-columns: 1fr !important;
        row-gap: 25px !important;
    }

    .team-avatars-wrapper {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 12px 0 !important;
        max-width: 64% !important
    }

    figure.avatar-circle {
        width: 72px !important;
        height: 72px !important;
        margin-left: 0px !important;

    }

    figure.avatar-circle:first-child {
        margin-left: 0 !important;
    }

    figure.avatar-circle:nth-child(4) {
        margin-left: 0 !important;
    }

    .site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row {
        max-width: 100%;
        padding-left: 0% !important;
        padding-right: 0% !important;
    }

    .services-card-number {
        font-size: 62px;
      top: -52px;
        left: -6px;
    }

    .hero-left-side {
        padding: 32px 20px 28px 20px !important;
    }

    .text-headline {
        font-size: 34px !important;
        line-height: 38px !important;
        letter-spacing: -1px !important;
    }

    .hero-body {
        font-size: var(--fs-mulish-14) !important;
        line-height: 22px !important;
    }

    .hero-image {
        height: 260px !important;
    }

    .wp-block-button.btn-blob-purple>.wp-block-button__link {
        min-width: 148px !important;
        padding: 9px 24px 13px 24px !important;
    }

    .wp-block-button.btn-blob-orange-outline>.wp-block-button__link {
        min-width: 130px !important;
        padding: 9px 20px 12px 20px !important;
    }
      .full-orange-button,
    .wp-block-button.full-orange-button>.wp-block-button__link {
        width: 190px !important;
        height: 70px !important;
        min-width: 190px !important;
        min-height: 70px !important;
        font-size: var(--fs-mulish-14) !important;
    }

    .testimonial-author-role {
        width: 100%;
    }

    .testimonial-author-name {
        font-size: 17px;
    }

    .testimonial-author-role {
        font-size: 12px;
    }

    .testimonial-quote {
        font-size: 26px;
        line-height: 36px;
    }

    .testimonial-author-card {
        width: 100%;
    }
        .cta-ready-section {
        margin-top: -50px !important;
        padding: 60px 16px 80px 16px !important;
    }

    .cta-ready-title {
        font-size: 36px;
    }

    .cta-ready-description {
        font-size: 15px;
    }
       .trc-heading {
        font-size: 44px;
    }

    .trc-body,
    .trc-highlight__text,
    .trc-eyebrow {
        font-size: 16px;
    }

    .trc-highlight__date {
        font-size: 28px;
    }
       .bcorp-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 400px) {
    aside[data-section="sidebar-widgets-footer-widget-2"] {
        grid-template-columns: repeat(1, 1fr) !important;
        column-gap: 20px !important;
        row-gap: 25px !important;
    }

    .footer-social-inner-wrap {
        flex-direction: column;
    }
	.ast-builder-social-element {
		margin-left:0px!important;
		margin-right:0px!important;
	}

}

@media (max-width: 300px) {
    .ast-mobile-header-content .ast-custom-button {
        padding: 9px 34px 18px 35px !important;
    }
}




/** A11y fixes for keyboard use ----- */

a.custom-logo-link:focus-visible, 
a.ast-custom-button-link:focus-visible {
	outline: 2px solid var(--color-orange-primary) !important;
	outline-offset: 15px !important;
	border-radius: 2px !important;
}

a:focus-visible, 
a.footer-social-item:focus-visible, 
#menu-footer-services a:focus-visible, 
#menu-footer-company a:focus-visible, 
figure.recognition-image a:focus-visible, 
div.site-footer-below-section-2 a:focus-visible,
a.wp-block-button__link:focus-visible {
	outline: 2px solid var(--color-orange-primary);
	outline-offset: 4px;
	border-radius: 5px !important;
}

button.swiper-btn-prev:focus-visible, 
button.swiper-btn-next:focus-visible {
	outline: 2px solid #24113f;
	outline-offset: 4px;
}

span.swiper-pagination-bullet:focus-visible {
	outline: 2px solid var(--color-orange-primary);
	outline-offset: 4px;
	border-radius: 5px;
}
