/*!
Theme Name: So Marketing
Theme URI: http://underscores.me/
Author: So Marketing
Author URI: https://www.somarketing.com/
Description: Multi-award-winning Agency. Web Design & Development. Creative Marketing. Strategic Thinking. UK & Global Clients.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: so-marketing
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/*
Note: The core theme styles are located in "assets/css/so-theme-style.css", which is enqueued via functions.php.
This file is intended for section-specific styles, including header and footer customizations.
For base and additional styles, please refer to "assets/css/so-theme-style.css".
*/



/* 
============================================ 
Header Style Start 
============================================ 
*/

.site-header{
    background: var(--so-white);
    box-shadow: 0 1px .375rem 0 rgba(0, 0, 0, 0.10);

    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}
.admin-bar .site-header{
    top: 32px;
}
#page{
    padding-top: 6.0625rem; /* 97px */
}
@media only screen and (max-width:991px) {

    .admin-bar .site-header{
        top: 46px;
    }
    #page{
        padding-top: 4.3125rem; /* 69px */
    }
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 11.9375rem; /* 191px */
}
.site-branding {
    flex: 0 0 auto;
}
.header-btn {
    flex: 0 0 auto;
}
.site-navigation {
    flex: 1 1 0;
}
.main-menu ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.main-menu > ul{
	display:flex;
	align-items: center;
    justify-content: center;
    column-gap: 3.75rem; /* 60px */
}
.main-menu > ul > li{
	position:relative;
	display: block;
}
.main-menu > ul > li > a {
	text-decoration: none;
    position:relative;
    display: block;
    font-family: var(--font-sf-pro-display);
    font-weight: 400;
    font-size: 1.125rem; /* 18px */
    line-height: 1.6875rem; /* 27px */
    letter-spacing: 0.18px;
    padding: 2.1875rem 0; /* 35px 0 */
}
.main-menu > ul > li.menu-item-has-children{
    display: flex;
    align-items: center;
    column-gap: 0.625rem; /* 10px */
}
.main-menu > ul > li.menu-item-has-children .submenu-indicator{
    width: .8125rem; /* 13px */
}
.main-menu > ul > li.menu-item-has-children .submenu-indicator svg{
    width: 100%;
}
.main-menu > ul > li > a:hover,
.main-menu > ul > li.menu-item-has-children:hover > a,
.main-menu > ul > li.current-menu-item > a,
.main-menu > ul > li.current-menu-ancestor > a {
    color: var(--menu-color, var(--so-yellow));
}
@media only screen and (max-width:1899px) {

    .header-inner {
        gap: 6.25rem; /* 100px */
    }

}
@media only screen and (max-width:1799px) {

    .header-inner {
        gap: 5rem; /* 80px */
    }

}
@media only screen and (max-width:1699px) {

    .header-inner {
        gap: 3.75rem; /* 60px */
    }
    .main-menu > ul{
        column-gap: 3.125rem; /* 50px */
    }
}
@media only screen and (max-width:1599px) {

    .header-inner {
        gap: 3.125rem; /* 50px */
    }
    .main-menu > ul{
        column-gap: 1.875rem; /* 30px */
    }
}

@media only screen and (max-width:1499px) {

    .header-inner {
        gap: 2.5rem; /* 40px */
    }
    .main-menu > ul{
        column-gap: 1.875rem; /* 30px */
    }

}

@media only screen and (max-width:1399px) {

    .header-inner {
        gap: 3.125rem; /* 50px */
    }
    .main-menu > ul{
        column-gap: 1.875rem; /* 30px */
    }
    
}
#header-phone{
    display: none;
}
@media only screen and (max-width:1199px) {

    #header-get-in-touch:not(.hamburger-btn #header-get-in-touch){
        display: none;
    }
    #header-phone{
        display: block;
    }
    .header-inner {
        gap: 2.5rem; /* 40px */
    }
    .main-menu > ul{
        column-gap: 1.25rem; /* 20px */
    }
}

@media only screen and (max-width:991px) {


    .site-header{
        padding-top: .75rem; /* 12px */
        padding-bottom: .75rem; /* 12px */
        box-shadow: none;
    }

    .hamburger-btn #header-get-in-touch{
        font-family: var(--font-sf-pro-display);
        font-size: 1.125rem; /* 18px */
        line-height: 1;
        font-weight: 500;
        margin-top: 3.125rem; /* 50px */
    }
    .mobile-menu ul{
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
    .mobile-menu > ul > li {
        display: block;
        position: relative;
    }
    .mobile-menu > ul > li > a {
        display: block;
        text-decoration: none;
        font-family: var(--font-sf-pro-display);
        font-size: 1.5625rem; /* 25px */
        line-height: 1;
        font-weight: 700;
        padding: 1.1875rem 0; /* 19px 0 */
        padding-right: 2.1875rem; /* 35px */
        border-bottom: 1px solid var(--so-black);
    }
    .mobile-menu > ul > li > ul {
        background: var(--so-yellow-light);
        width: calc(100% + 3rem); /* 48px */
        margin-left: -1.5rem; /* -24px */
        padding: 0 1.5rem; /* 24px */
        display: none;
    }
    .mobile-menu > ul > li > ul > li {
        width: 100%;
        position: relative;
        border-bottom: 1px solid var(--so-black);
    }
    .mobile-menu > ul > li > ul > li > a {
        text-decoration: none;
        display: block;
        padding: 1.8125rem 0; /* 29px 0 */

        font-size: 1.125rem; /* 18px */
        line-height: 1;
        font-weight: 500;
    }
    .mobile-menu > ul > li > ul > li:last-child{
        border-bottom: 0;
    }
    .mobile-menu > ul > li > .mobile-sub-menu-indicator{
        position: absolute;
        right: 0;
        top: 1.125rem; /* 18px */
        width: 1.5625rem; /* 25px */
        height: 1.5625rem; /* 25px */
        cursor: pointer;
        display: flex;
        align-items: center;
        transform: rotate(0deg);
        transition: transform 0.3s ease;
    }
    .mobile-menu > ul > li > .mobile-sub-menu-indicator.active{
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    transform-origin: center;
    }
    .hamburger-footer{
        margin-top: 3rem; /* 48px */
    }
    .so-email-us{
        margin-top: 1.625rem; /* 26px */
    }
    .call-us-icon,
    .email-us-icon{
        display: flex;
        align-items: center;
        column-gap: 1.25rem; /* 20px */
        margin-bottom: .3125rem; /* 5px */
    }
    .call-us-icon span,
    .email-us-icon span{
        font-family: var(--font-sf-pro-display);
        font-size: 1.5625rem; /* 25px */
        line-height: 1;
        font-weight: 700;
        display: block;
    }
    .call-us-text a,
    .email-us-text a{
       font-size: 2rem; /* 32px */
       line-height: 2.6rem; /* 42px */
       font-weight: 700;
       font-family: var(--font-sf-pro-display);
       text-decoration: none;
    }
    .menu-trigger {
        border: none;
        padding: 0;
        background: transparent;
        position: relative;
        width: 1.875rem; /* 30px */
        height: 2.5rem; /* enough to hold 3 lines with gap */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.625rem; /* 10px */
        cursor: pointer;
        z-index: 10000;
    }
    .menu-trigger span {
        display: block;
        width: 100%;
        height: 0.125rem; /* 2px */
        background-color: var(--so-black);
        border-radius: 2px;
        transition: all 0.3s ease;
        position: relative;
        transform-origin: center;
    }
    .menu-trigger.active span:nth-child(1) {
        transform: rotate(45deg);
        position: absolute;
    }
    .menu-trigger.active span:nth-child(2) {
        opacity: 0;
        transition: none
    }
    .menu-trigger.active span:nth-child(3) {
        transform: rotate(-45deg);
        position: absolute;
    }
    .hamburger-wrapper{
        position: fixed;
        top: 4.5rem; /* 72px */
        left: 0;
        width: 100vw;
        max-width: 100vw;
        height: 100vh;
        background: var(--so-yellow);
        z-index: 9999;
        transform: translateX(-100%);
        transition: transform 0.4s cubic-bezier(0.77,0.2,0.05,1.0);
        overflow-y: auto;
        padding-bottom: 7.625rem; /* 122px */
    }
    .admin-bar .hamburger-wrapper {
        top: 7.375rem; /* 118px */
        padding-bottom: 10.5rem; /* 168px */
    }
    .hamburger-wrapper.open {
        transform: translateX(0);
    }


}


/* Dropdown Menu Style Start */

.main-menu > ul > li > ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 15.625rem; /* 250px */
	transition: background-color 0.3s ease;
    opacity: 0;
    visibility: hidden;
    transform: translateY(.625rem); /* 10px */
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    z-index: 100;
    border-radius: 0 0 .625rem .625rem; /* 10px */
}
.main-menu > ul > li:hover > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0); 
}
.main-menu > ul > li > ul.sub-menu.has-custom-style {
    background-color: var(--menu-bg, var(--so-yellow));
}
.main-menu > ul > li > ul.sub-menu.has-custom-style li:hover a {
    background-color: var(--menu-hover, var(--so-yellow-light));
}
.main-menu > ul > li > ul > li {
    margin: 0;
    width: 100%;
    position:relative;
}
.main-menu > ul > li > ul > li > a {
    display: block;
    text-decoration: none;
    text-align: left;
    padding: .5rem .9375rem; /* 8px 15px */
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
    letter-spacing: 0;
}
.main-menu > ul > li > ul > li:hover a{
    padding-left: 1.25rem; /* 20px */
}
.main-menu > ul > li > ul > li:last-child > a{
    border-radius: 0 0 .625rem .625rem; /* 10px */
}
.header-btn .site-btn{
    padding-top: .625rem; /* 10px */
    padding-bottom: .625rem; /* 10px */
}

/* 
============================================ 
Header Style End 
============================================ 
*/




/* 
============================================ 
Footer Style Start 
============================================ 
*/

.footer-inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5625rem 0;
    border-top: 1px solid #737373;
}
.footer-menu > ul{
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 2.4375rem; /* 39px */
}
.footer-menu > ul > li {
    position: relative;
    display: block;
}
.footer-menu > ul > li > a {
    font-size: 1.3125rem; /* 21px */
    line-height: 1.9688rem; /* 31.5px */
    letter-spacing: 0.21px;
    font-weight: 400;
    text-decoration: none;
}
.footer-menu > ul > li > a:hover{
    color:var(--so-yellow);
}
.legal-menu > ul > li:last-child > a{
    cursor: text;
    text-decoration: none;
    color: inherit;
}
@media only screen and (max-width:1199px) {

    .footer-inner{
        column-gap: 1.25rem; /* 20px */
    }
    .footer-menu > ul{
        column-gap: 1.875rem; /* 30px */
    }
    .footer-menu > ul > li > a {
        font-size: 1.125rem; /* 18px */
        line-height: 1.6875rem; /* 27px */
    }

}
@media only screen and (max-width:991px) {

    .footer-inner{
        flex-direction: column;
        align-items: center;
        row-gap: .9375rem; /* 15px */
    }
    .footer-menu > ul{
        column-gap: 1.25rem; /* 20px */
    }
}
@media only screen and (max-width:767px) {

    .footer-inner{
        align-items: flex-start;
        flex-direction: row;
        row-gap: 0;
    }
    .footer-menu > ul{
        flex-direction: column;
        align-items: flex-start;
        row-gap: 1.25rem; /* 20px */
    }
    .legal-menu > ul{
        align-items: flex-end;
    }
    .footer-menu > ul > li > a {
        font-size: 1rem; /* 16px */
        line-height: 1.5rem; /* 24px */
    }

}


/* 
============================================ 
Footer Style End 
============================================ 
*/




/* 
============================================ 
CMS Style Start
============================================ 
*/

/* Hero Style Start */

#hero{
    position: relative;
}
.hero-top{
    padding-top: 6.375rem; /* 102px */
    padding-bottom: 4.375rem; /* 70px */
    min-height: calc(16.5625rem + 10.75rem); /* 265px same has hero video + padding top-bottom */
}
#hero-title {
    max-width: 48.125rem; /* 770px */
}
.hero-subtitle{
    background: var(--so-yellow);
    max-width: 44.5rem; /* 712px */
    padding: .75rem 2.0625rem; /* 12px 33px */
    border-radius: 3.125rem; /* 50px */
    font-family: var(--font-sf-pro-display);
    font-weight: 700;
    text-align: center;
    font-size: 1.5625rem; /* 25px */
    line-height: 1;
    margin-top: 4.75rem; /* 76px */
}
.hero-video{
    border: 1px solid #D9D9D9;
    border-radius: 3.125rem; /* 50px */
    position: absolute;
    left: 100%;
    top: 6.25rem; /* 100px */
    width: 29.4375rem; /* 471px */
    height: 16.5625rem; /* 265px */
    background: var(--so-white);
    transition: 
        width 0.5s cubic-bezier(0.4,0,0.2,1),
        height 0.5s cubic-bezier(0.4,0,0.2,1),
        top 0.5s cubic-bezier(0.4,0,0.2,1),
        left 0.5s cubic-bezier(0.4,0,0.2,1),
        transform 0.5s cubic-bezier(0.4,0,0.2,1);
    transform: translateX(-100%);
    overflow: hidden; /* add this to contain overlay */
    box-sizing: border-box;
}
.hero-video.enlarged {
    width: 75.3125rem; /* 1205px */
    height: 42.375rem; /* 678px */
    top: 3.125rem; /* 50px */
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    max-width: 90vw;
    max-height: 70vh;
    box-sizing: border-box;
}
.hero-video video,
.hero-video iframe{
    width: 100%;
    height: 100%;
    border-radius: 3.125rem; /* 50px */
}
.modal-control{
    position: absolute;
    top: 1.25rem; /* 20px */
    right: 1.25rem; /* 20px */
    z-index: 10;
}
.modal-control button{
    border:none;
    padding: 0;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.5);
    border-radius: .625rem; /* 10px */
    transition: 0.3s all ease;
    width: 2.5rem; /* 40px */
    height: 2.5rem; /* 40px */
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal-control:hover button{
    background: rgba(255, 255, 255, 1);
}
.modal-control svg {
    width: 1.875rem; /* 30px */
    height: 1.875rem; /* 30px */
    transition: width 0.3s ease, height 0.3s ease;
}
.modal-control:hover svg {
    width: 2.0625rem; /* 33px */
    height: 2.0625rem; /* 33px */
}
.modal-control .shrinker-button svg{
    width: 1.375rem; /* 22px */
    height: 1.375rem; /* 22px */
}
.modal-control .shrinker-button:hover svg {
    width: 1.5625rem; /* 25px */
    height: 1.5625rem; /* 25px */
}
.hero-video .modal-control {
    transition: opacity 0.3s;
}
.hero-video .enlarger-button {
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.3s;
}
.hero-video.enlarged .enlarger-button {
    opacity: 0;
    pointer-events: none;
}
.hero-video .shrinker-button {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}
.hero-video.enlarged .shrinker-button {
    opacity: 1;
    pointer-events: auto;
}
.video-controls {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s cubic-bezier(0.4,0,0.2,1);
    position: absolute;
    bottom: 1.5625rem; /* 25px */
    right: 1.5625rem; /* 25px */
    display: flex;
    gap: 1.3125rem; /* 21px */
}
.video-controls button {
    background: var(--so-yellow);
    border: 1px solid #d9d9d9;
    width: 2.875rem; /* 46px */
    height: 2.875rem; /* 46px */
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.video-controls .play-pause-button svg {
	width: 1.3125rem; /* 21px */
	height: 1.5625rem; /* 25px */
}
.video-controls .play-pause-button svg.play-icon{
	position: relative;
	left: 0.125rem; /* 2px */
}
.video-controls .mute-unmute-button svg {
    width: 1.3125rem; /* 21px */
    height: 1.5625rem; /* 25px */
}
.hero-video.enlarged .video-controls {
    opacity: 1;
    visibility: visible;
}
.hero-overlay {
    position: absolute;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: #414141;
    mix-blend-mode: multiply;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.5s cubic-bezier(0.4,0,0.2,1), visibility 0.5s cubic-bezier(0.4,0,0.2,1);
    z-index: 99;
}
.hero-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.hero-content {
	padding-right: 32.5rem; /* 520px */
}
@media only screen and (max-width:1399px) {

    .hero-subtitle{
        font-size: 1.25rem; /* 20px */
    }

}
@media only screen and (max-width:1199px) {

    .hero-heading-style {
        font-size: 3.125rem; /* 50px */
    }
    .hero-video.enlarged {
        width: 100%;
        max-width: 100%;
        height: 37.5rem; /* 600px */
    }
    #hero-title {
        max-width: 35.375rem; /* 566px */
    }
    .hero-subtitle{
        margin-top: 3.125rem; /* 50px */
    }

}
@media only screen and (max-width:991px) {

    .hero-top{
        padding-top: 3.125rem; /* 50px */
        padding-bottom: calc(20.625rem + 6.25rem); /* 330px + 50+50px */
    }
    .hero-content{
        padding-right: 0;
    }
    #hero-title{
        max-width: 100%;
        text-align: center;
    }
    .hero-subtitle{
        max-width: max-content;
        margin-left: auto;
        margin-right: auto;
    }
    .hero-video {
        position: absolute;
        top: 24.0625rem; /* 385px */
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
        height: 20.625rem; /* 330px */
        transition: 
            width 0.5s ease, 
            height 0.5s ease, 
            top 0.5s ease, 
            left 0.5s ease, 
            transform 0.5s ease, 
            margin-top 0.5s ease;
    }
    .hero-video.enlarged {
        position: absolute;
        margin-top: 0;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
        top: 3.125rem; /* 50px */
        height: 28.125rem; /* 450px */
        z-index: 100;
        max-height: 70vh;
        scroll-behavior: smooth;
    }

}
@media only screen and (max-width:767px) {

    .hero-top{
        padding-bottom: calc(12.5rem + 5rem); /* 200px + 50+30px */
    }
    .hero-video{
        height: 12.5rem; /* 200px */
        border-radius: 1.5625rem; /* 25px */
    }
    .hero-video.enlarged {
        height: 65vh;
        max-height: 75vh;
    }
    .hero-video video,
    .hero-video iframe{
        border-radius: 1.5625rem; /* 25px */
    }
    .hero-subtitle{
        margin-top: 1.5625rem; /* 25px */
        font-size: 1.125rem; /* 18px */
        line-height: 1;
        font-weight: 500;
    }

}

/* Hero Style End */



/* Inner Hero Style Start */

#inner-hero{
    position: relative;
    margin-top: 3.4375rem; /* 55px */
}
#inner-hero .hero-overlay {
    top: -6.25rem; /* -100px */
}
.inner-hero-grid{
    position: relative;
    display: grid;
    grid-template-columns: 36.875rem 1fr; /* 590px */  
    align-items: flex-start;
    gap: 11.1875rem; /* 179px */
}
.inner-hero-content{
    max-width: 36.875rem; /* 590px */
}
.inner-hero-images img{
    border-radius: 3.125rem; /* 50px */
}
.inner-hero-images{
    aspect-ratio: 742 / 413;
}
.inner-hero-media .hero-video{
    top: 0;
    width: calc(100% - 48.0625rem); /* 769px */
    height: 100%;
    min-height: 25.8125rem; /* 413px */
    max-height: 25.8125rem; /* 413px */
}
.inner-hero-media .hero-video.enlarged {
    width: 75.3125rem; /* 1205px */
    height: 42.375rem; /* 678px */
    top: -3.125rem; /* -50px */
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    max-width: 90vw;
    max-height: 70vh;
    box-sizing: border-box;
}
.inner-hero-copy{
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
    margin-top: 3.125rem;  /* 50px */
}

.btn-list{
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    gap: .9375rem; /* 15px */
    margin-top: 3.125rem;   /* 50px */
}
.inner-hero-images .hero-image-slide {
    display: none;
}
.inner-hero-images .hero-image-slide.is-active {
    display: block;
}
.inner-hero-content .project-tags {
    font-size: 1.5625rem; /* 25px */
    line-height: 1;
    font-weight: 700;
    margin-top: .375rem; /* 6px */
    font-family: var(--font-sf-pro-display);
    letter-spacing: 0;
}
.hero-heading-style.has-tags{
    margin-bottom: 1.3125rem; /* 21px */
}
@media only screen and (max-width:1749px) {

    .inner-hero-media .hero-video{
        min-height: 21.875rem; /* 350px */
        max-height: 21.875rem; /* 350px */
    }

}
@media only screen and (max-width:1599px) {

    .inner-hero-grid{
        gap: 3.125rem; /* 50px */
    }
    .inner-hero-media .hero-video{
        width: calc(100% - 40rem); /* 769px */
        min-height: 27.688rem; /* 443px */
        max-height: 27.688rem; /* 443px */
    }
}
@media only screen and (max-width:1499px) {

    .inner-hero-media .hero-video{
        width: calc(100% - 40rem); /* 769px */
        min-height: 24.0625rem; /* 385px */
        max-height: 24.0625rem; /* 385px */
    }

}
@media only screen and (max-width:1399px) {

    .inner-hero-media .hero-video{
        min-height: 17.1875rem; /* 275px */
        max-height: 17.1875rem; /* 275px */
    }

}
@media only screen and (max-width:1199px) {

    .inner-hero-grid{
        grid-template-columns: 1fr 1fr; 
    }
    .inner-hero-content{
        max-width: 100%;
    }    
    .inner-hero-media .hero-video{
        width: calc(50% - 1.5625rem);
    }
    .inner-hero-media .hero-video.enlarged {
        width: 100%;
        max-width: 100%;
        height: 37.5rem;
    }
    
}
@media only screen and (max-width:991px) {

    #inner-hero{
        margin-top: 2.3125rem; /* 37px */
    }
    #inner-hero .hero-overlay {
        top: -5.125rem; /* -82px */
    }
    .inner-hero-grid{
        grid-template-columns: 1fr;
    }
    .inner-hero-content{
        max-width: 100%;
    }  
    .inner-hero-copy{
        margin-top: 2.3125rem; /* 37px */
    }
    .inner-hero-media .hero-video{
        width: 100%;
        min-height: 20.5rem; /* 328px */
        max-height: 20.5rem; /* 328px */
    }
    .inner-hero-grid.media-type-video{
        gap: 0;
        padding-bottom: calc(20.5rem + 3.125rem);
    }
    .inner-hero-media .hero-video.enlarged{
        height: 28.125rem;
        top: -2rem; /* -32px */
    }

    .inner-hero-content{
        text-align: center;
    }
}
@media only screen and (max-width:767px) {

    #inner-hero-title br{
        display: none;
    }
    .inner-hero-copy {
        margin-top: 37px;
    }
    .btn-list {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 2.5rem; /* 40px */
    }
    .btn-list li,
    .btn-list li .site-btn{
        width: 100%;
    }
    .inner-hero-media img {
        border-radius: 1.5625rem;   /* 25px */
    }
   .inner-hero-media .hero-video{
        min-height: 12.375rem; /* 198px */
        max-height: 12.375rem; /* 198px */
    }
    .inner-hero-grid.media-type-video{
        padding-bottom: calc(12.375rem + 3.125rem);
    }
    .inner-hero-media .hero-video.enlarged{
        height: 65vh;
        max-height: 75vh;
    }

}

/* Inner Hero Style End */


/* USP Style Start */

.usp-cards:not(#hero + .usp-cards){
    padding-top: 6.25rem; /* 100px */
}
.usp-card-grid{
    display: grid;
    gap: 3.125rem; /* 50px */
}
.usp-card-grid--two{
    grid-template-columns: repeat(2, 1fr);
}
.usp-card-grid--two .usp-card-odd:last-of-type{
    grid-column: span 2;
    text-align: center;
}
.usp-card-odd .usp-card-header{
    max-width: max-content;
    margin-left: auto;
    margin-right: auto;
}
.usp-card-grid--three{
    grid-template-columns: repeat(3, 1fr);
}
.usp-card{
    border-radius: 3.125rem; /* 50px */
    padding: 1.875rem; /* 30px */
    display: flex;
    flex-direction: column;
}
.usp-card-content{
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    margin-top: .75rem; /* 12px */
    
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
}
.usp-card-header{
    display: flex;
    gap: 3.125rem; /* 50px */
}
.usp-card-icon{
    width: 3.125rem;
    height: 3.125rem;
    flex: 0 0 3.125rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.usp-card-icon svg{
    width: 100%;
}
.usp-card-title{
    flex: 1 1 0;
    /* Optional: ensure text wraps nicely */
    word-break: break-word;
}
.usp-card-footer{
    margin-top: 2rem; /* 32px */
}

@media only screen and (max-width:1399px) {

    .usp-card-header {
        display: flex;
        gap: 1.875rem; /* 30px */
    }
    .usp-card-grid--three{
        grid-template-columns: repeat(2, 1fr);
    }
    .usp-card-odd:last-of-type{
        grid-column: span 2;
        text-align: center;
    }

}
@media only screen and (max-width:991px) {

    .usp-cards:not(#hero + .usp-cards){
        padding-top: 4.375rem; /* 70px */
    }
    .usp-card-grid,
    .usp-card-grid--two,
    .usp-card-grid--three{
        gap: 1.875rem; /* 30px */
    } 

}
@media only screen and (max-width:767px) {

    .usp-cards:not(#hero + .usp-cards){
        padding-top: 3.125rem; /* 50px */
    }
    .usp-card-grid,
    .usp-card-grid--two,
    .usp-card-grid--three{
        grid-template-columns: 100%;
        gap: .9375rem; /* 15px */
    }
    .usp-card-odd:last-of-type,
    .usp-card-grid--two .usp-card-odd:last-of-type{
        grid-column: span 1;
        text-align: left;
    }
    .usp-card{
        border-radius: 1.5625rem; /* 25px */
    }
    .usp-card-icon {
        width: 1.5625rem; /* 25px */
        height: 1.5625rem; /* 25px */
        flex: 0 0 1.5625rem; /* 25px */
        position: relative;
        top: .375rem; /* 6px */
    }
    .usp-card-header {
        gap: 1.25rem; /* 20px */
    }
    
}


/* USP Style End */


/* Trusted Tools And Platforms Style Start */

.trusted-logos-scroll-outer {
    overflow: hidden;
    width: 100%;
    position: relative;
}
.trusted-logos-scroll-inner {
    display: flex;
    width: max-content;
    will-change: transform;
}
.trusted-logos-list {
    display: flex;
}
.trusted-logo {
    margin-right: 6.25rem; /* 100px */
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
@media only screen and (max-width:991px) {

    .trusted-logo {
        margin-right: 4.375rem; /* 70px */
    }


}
@media only screen and (max-width:767px) {

    .trusted-logo {
        margin-right: 3.125rem; /* 50px */
    }

}

/* Trusted Tools And Platforms Style End */


/* Service Section Style Start */

.section-inline-header{
    display: flex;
    align-items: flex-start;
    gap: 11rem; /* 176px */
}
.section-inline-header h2{
    margin-bottom: 0;
}
.section-description{
    max-width: 27rem; /* 432px */
}
.section-description p{
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
}
.section-inline-header .site-btn{
    margin-left: 5.625rem; /* 90px */
    min-width: 12rem; /* 192px */
}
@media only screen and (max-width:991px) {

    .section-inline-header {
        display: block;
        text-align: center;
    }
    .section-description {
        max-width: 100%;
        margin-top: 18px;
    }

}
.card-grid-4Columns{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)); 
    gap: 1.5625rem; /* 25px */
    margin-top: 4.6875rem; /* 75px */
}
.project-cards-grid.card-grid-4Columns{
    margin-top: 3.125rem; /* 50px */
}
.service-card,
.post-card{
    text-decoration: none !important;
    border-radius: 3.125rem; /* 50px */
}
.service-card h5{
    margin-bottom: 1.4375rem; /* 23px */
}
.card-thumb,
.card-thumb img{
    border-radius: 3.125rem; /* 50px */
    width: 100%;
    max-width: 27.25rem; /* 436px */
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 13.75rem; /* 220px */
    max-height: 27.25rem; /* 436px */
    display: flex;
    align-items: center;
    justify-content: center;
}
.service-thumb,
.post-thumb {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-card:hover .service-thumb,
.post-card:hover .post-thumb {
    transform: translateY(-25px);
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-card-content{
    padding: 3.0625rem 2.8125rem 1.875rem 1.875rem; /* 45px */
}
.short-description{
    font-size: 1.125rem; /* 18px */
    line-height: 1.6875rem; /* 27px */
    letter-spacing: 0.18px; /* 0.18px */
}

@media only screen and (max-width:1599px) {

    .section-inline-header {
        gap: 8.75rem; /* 140px */
    }

}
@media only screen and (max-width:1399px) {

    .section-inline-header {
        gap: 5.625rem; /* 90px */
    }
    .section-inline-header .site-btn {
        margin-left: 0;
    }
    .service-card,
    .post-card,
    .card-thumb, 
    .card-thumb img {
        border-radius: 2.1875rem; /* 35px */
    }

}
@media only screen and (max-width:1199px) {

    .card-grid-4Columns {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .section-inline-header {
        gap: 3.125rem; /* 50px */
    }
    .service-card,
    .post-card,
    .card-thumb, 
    .card-thumb img {
        border-radius: 3.125rem; /* 50px */
    }
    .card-thumb, 
    .card-thumb img{
        max-width: 100%;
    }
 
}
@media only screen and (min-width: 992px) and (max-width:1199px) {

    .card-grid-4Columns.has-4-cards .even-card:last-of-type .card-thumb,
    .card-grid-4Columns.has-4-cards .even-card:last-of-type .card-thumb img{
        height: 27.25rem; /* 436px */
    }
    .card-grid-4Columns.has-4-cards .even-card:last-of-type {
        grid-column: span 3;
    }

}
@media only screen and (max-width:991px) {

    .card-grid-4Columns {
        grid-template-columns: repeat(2, minmax(auto, 1fr));
    }
    .section-inline-header {
        gap: 3.125rem; /* 50px */
    }
    .section-inline-header .site-btn{
        display: none;
    }
    .card-thumb, 
    .card-thumb img{
        max-width: 100%;
    }
    .service-card,
    .post-card {
        grid-template-columns: repeat(2, minmax(auto, 1fr));
    }
    .service-card:last-of-type,
    .post-card:last-of-type {
        grid-column: auto;
    }

}

@media only screen and (max-width:767px) {

    .card-grid-4Columns {
        grid-template-columns: 1fr;
        margin-top: 3.125rem; /* 50px */
    }
    .service-card-content {
        padding: 1.5rem .9375rem 2.5rem .9375rem; /* 24px 15px 40px 15px */
    }
    .service-card,
    .post-card {
        border-radius: 1.5625rem; /* 25px */
        display: block !important;
    }
    .card-thumb, 
    .card-thumb img{
        max-width: 100%;
        min-height: auto;
        height: auto;
        border-radius: 1.5625rem; /* 25px */
    }  
    .service-card::before,
    .post-card::before {
        border-radius: 1.5625rem !important; /* 25px */
    }
    .service-card:hover .service-thumb,
    .post-card:hover .post-thumb {
        transform: none;
    }
    .service-card h5 {
        margin-bottom: .8125rem; /* 13px */
    }
    .stagePaddingRight .service-card {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    .stagePaddingRight .service-card-content {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;

    }

}
/* Service Section Style End */

/* Project Section Style Start */

.project-card{
    text-decoration: none !important;;
}
.project-card:hover .project-thumb{
    transform: scale(0.93);
    transition: transform 0.4s ease;
}
.project-thumb {
    transition: transform 0.4s ease;
    overflow: hidden;
}
.project-card:hover .project-thumb img{
    transform: scale(1.2);
    transition: transform 0.4s ease;
}
.project-thumb img {
    transition: transform 0.4s ease;
}
.project-card h4{
    margin-top: 1.5625rem; /* 25px */
    margin-bottom: .4375rem; /* 7px */
}
.project-tags {
    font-size: 1.3125rem; /* 21px */
    line-height: 1.9688rem; /* 31.5px */
    font-weight: 400;
    letter-spacing: 0.21px; /* 0.21px */
}
.separator{
    color: var(--so-yellow);
}


@media only screen and (max-width:767px) {

    .project-card h4{
        font-size: 1.5625rem; /* 25px */
        margin-top: 1.25rem; /* 20px */
        margin-bottom: 0;
    }
    .project-tags {
        font-size: 1rem; /* 16px */
        line-height: 1.5rem; /* 24px */
        font-weight: 400;
    }
    .project-card:hover .project-thumb,
    .project-card:hover .project-thumb img {
        transform: none;
        transition: none;
    }
    .project-thumb {
        transition: transform 0.4s ease;
        overflow: hidden;
    }
    .project-thumb img {
        transition: transform 0.4s ease;
    }

}

/* Project Section Style End */

/* SO CTA Row Style Start */

.so-cta-row{
    margin-top: 4.375rem; /* 70px */
}
.so-cta-inner {
    padding: 3.125rem; /* 50px */
    padding-right: 6.25rem; /* 100px */
    border-radius: 3.125rem; /* 50px */
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3.125rem; /* 50px */
}
.so-cta-inner .so-cta-content-wrapper{
    flex: 1 1 auto;
}
.so-cta-inner .site-btn{
    flex: 0 0 max-content;
    min-width: max-content;
}
.so-cta-content-wrapper {
    position: relative;
    padding-left: 2.5rem; /* 40px */
}
.so-cta-icon {
    position: absolute;
    left: 0;
    top: 0;
    width: 1.5625rem; /* 25px */
}
.so-cta-content span.label {
    font-family: var(--font-sf-pro-display);
    font-size: 1.5625rem; /* 25px */
    font-weight: 700;
    line-height: 100%;
}
.so-cta-content h3{
    margin-bottom: 0;
    margin-top: 1.125rem; /* 18px */
}
@media only screen and (max-width:1199px) {

    .so-cta-inner {
        padding-right: 3.125rem; /* 50px */
    }

}
@media only screen and (max-width:991px) {

    .so-cta-inner {
        flex-direction: column;
        gap: 1.875rem; /* 30px */
    }
    .so-cta-content-wrapper {
        padding-left: 0;
    }
    .so-cta-icon {
        position: static;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: .625rem; /* 10px */
    }
    .so-cta-content{
        text-align: center;
    }

}
@media only screen and (max-width:767px) {

    .so-cta-row{
        margin-top: 3.125rem; /* 50px */
    }
    .so-cta-inner {
        padding: 1.5625rem;
        border-radius: 1.5625rem;
    }
    .so-cta-content span.label {
        font-size: 1.25rem; /* 20px */
    }
    .so-cta-content h3 {
        font-size: 1.625rem; /* 26px */
        margin-top: .625rem; /* 10px */
    }
    .so-cta-inner .site-btn {
        flex: auto;
        max-width: 100%;
    }

}

/* SO CTA Row Style End */

/* Who We Are Section Styles Start */

.who-we-are-grid{
    padding: 6.25rem 9.625rem;  /* 100px 154px */
    border-radius: 3.125rem;    /* 50px */
    display: grid;
    grid-template-columns: 39.3125rem 1fr; /* 629px 1fr */
    gap: 8.75rem;               /* 140px */
    align-items: start;
}
.radius50 img{
    border-radius: 3.125rem;    /* 50px */
}
.section-label{
    font-weight: 700;
    font-family: var(--font-sf-pro-display);
    letter-spacing: 0;
    margin-bottom: .8125rem !important; /* 13px */
    display: block;
}
.section-content h2{
    margin-bottom: 2rem;        /* 32px */
}
.section-content{
    font-size: 1rem;            /* 16px */
    line-height: 1.5rem;        /* 24px */
}
.who-we-are-content .site-btn{
    margin-top: 6.25rem; /* 100px */
}
@media only screen and (max-width:1799px) {

    .who-we-are-grid{
        padding: 6.25rem;       /* 100px */
        gap: 6.25rem;           /* 100px */
    }

}
@media only screen and (max-width:1599px) {

    .who-we-are-grid{
        padding: 5rem;          /* 80px */
        gap: 5rem;              /* 80px */
    }

}
@media only screen and (max-width:1399px) {

    .who-we-are-grid{
        padding: 4rem; /* 64px */
        grid-template-columns: 1fr 1fr; 
        gap: 4rem; /* 64px */
    }
    .who-we-are-content .site-btn{
        margin-top: 4.375rem; /* 70px */
    }
}
@media only screen and (max-width:1199px) {

    .section-label.h4-style {
        font-size: 1.75rem; /* 28px */
    }   
    .who-we-are-grid{
        grid-template-columns: 1fr 1fr; 
        gap: 1.875rem; /* 30px */
    }

}
@media only screen and (max-width:991px) {

    .section-label.h4-style {
        font-size: 1.5625rem; /* 25px */
        line-height: 1;
    }  
    .who-we-are-grid{
        padding: 5rem 4rem; /* 80px 64px */
        grid-template-columns: 1fr;
        gap: 3.125rem; /* 50px */
    }
    .who-we-are-content .site-btn{
        margin-top: 3.125rem; /* 50px */
    }

}
@media only screen and (max-width:767px) {

    .who-we-are-grid{
        padding: 3.125rem .9375rem; /* 64px 32px */
        border-radius: 1.5625rem; /* 25px */
    }
    .content{
        text-align: center;
    }
    .who-we-are-content .site-btn{
        margin-top: 3.125rem; /* 50px */
    }
    .radius50 img{
        border-radius: 1.5625rem; /* 25px */
    }

}
/* Who We Are Section Styles End */

/* Our Goal Section Style Start */

.our-goal-section{
    padding-top: 13rem; /* 208px */
    position:relative;
}
.client-we-work.our_goal_adjust {
	padding-top: 7.5rem; /* 120px */
	margin-top: 0;
}
.our-goal-section::after{
    position: absolute;
    content: '';
    bottom: -7.5rem; /* -120px */
    left: 0;
    width: 100%;
    height: 32.75rem; /* 524px */
    background: url(assets/images/our-goal-bg.svg) no-repeat center/cover;
    z-index: -1;
}
.our-goal-grid{
    padding-right: 9.625rem;  /* 154px */
    border-radius: 3.125rem;    /* 50px */
    display: grid;
    grid-template-columns: 1fr 37rem; /* 1fr 592px */
    align-items: start;
    align-items: start;
    justify-content: space-between;
    gap: 1.6875rem; /* 27px */
}
.our-goal-grid .media {
	margin-top: -5.3125rem; /* -85px */
}
.our-goal-content .site-btn{
    margin-top: 3.9375rem; /* 63px */
}
@media only screen and (max-width:1799px) {

    .our-goal-grid{
        padding-right: 6.25rem; /* 100px */
    }
    .our-goal-section::after{
        bottom: -13.75rem; /* -220px */
    }

}
@media only screen and (max-width:1599px) {

    .our-goal-grid{
        padding-right: 5rem; /* 80px */
    }

}
@media only screen and (max-width:1399px) {

    .our-goal-section{
        padding-top: 7.6875rem; /* 123px */
    }
    .client-we-work.our_goal_adjust{
        padding-top: 6.25rem; /* 100px */
    }
    .our-goal-grid{
        padding-right: 4rem; /* 64px */
        grid-template-columns: 1fr 24.0625rem; /* 1fr 385px */
    }
    .our-goal-grid .media {
        margin-top: 0;
    }

}
@media only screen and (max-width:1199px) {

    .our-goal-section{
        padding-top: 6.25rem; /* 100px */
    }
    .our-goal-grid{
        grid-template-columns: 1fr 1fr;
        gap: 0;
    }

}
@media only screen and (max-width:991px) {

    .our-goal-section{
        padding-top: 4.375rem; /* 70px */
    }
    .client-we-work.our_goal_adjust{
        padding-top: 4.375rem; /* 70px */
    }
    .our-goal-grid{
        display: flex;
        flex-direction: column-reverse;
        padding-right: 0;
        gap: 1.6875rem; /* 27px */
    }
    .our-goal-content .site-btn{
        margin-top: .625rem; /* 10px */
    }

}
@media only screen and (max-width:767px) {

    .our-goal-section{
        padding-left: 0;
        padding-right: 0;
    }
    .our-goal-section::after{
        background: url(assets/images/our-goal-mobile-bg.svg) no-repeat center bottom;
        height: 6.875rem; /* 110px */
        bottom: 0;
    }


}

/* Our Goal Section Style End */


/* Clients We Work With Style Start */

.client-we-work{
    padding-top: 6.25rem; /* 100px */
    padding-bottom: 6.25rem; /* 100px */
}
.client-logos{
    margin-top: 5rem;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    column-gap: 3.125rem; /* 50px */
    row-gap: 5rem;
}
.client-logos .client-logo{
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.client-logos .client-logo svg{
    max-width: 100%;
    width: auto;
}

@media only screen and (max-width:991px) {

    .client-we-work{
        padding-top: 4.375rem; /* 70px */
        padding-bottom: 4.375rem; /* 70px */
    }
    .client-logos{
        grid-template-columns: repeat(3, 1fr);
        row-gap: 3.125rem; /* 50px */
    }

}
@media only screen and (max-width:767px) {

    .client-we-work{
        padding-top: 3.125rem; /* 50px */
        padding-bottom: 3.125rem; /* 50px */
    }
    .client-logos{
        grid-template-columns: repeat(2, 1fr);
        gap: 3.125rem;
        row-gap: 2.5rem; /* 40px */
        margin-top: 3.125rem; /* 50px */
    }
    .client-logos .client-logo{
        height: 3.125rem; /* 50px */
    }
    .client-logos .client-logo svg,
    .client-logos .client-logo img{
        max-height: 100%;
    }

}
@media only screen and (min-width:2560px) {

    .client-logos{
        column-gap: 8.75rem; /* 140px */
    }
    .client-logos .client-logo svg {
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        display: block;
        object-fit: contain;
    }

}
/* Clients We Work With Style End */


/* Talk to us Style Start */

.talk-to-us-grid{
    padding: 6.25rem 9.5625rem;
    border-radius: 3.125rem;
}
.lets-discuss-logo{
    width: 9.375rem;
    height: 9.375rem;
    background: var(--so-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.lets-discuss-spinner{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: lets-discuss-spin 10s linear infinite;
}
.lets-discuss-spinner svg {
	width: calc(100% - 1.375rem); /* 22px */
	height: calc(100% - 1.375rem); /* 22px */
}
@keyframes lets-discuss-spin {
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}
.section-header.talk-to-us-header {
	display: flex;
	align-items: center;
	gap: 2.875rem; /* 46px */
    margin-bottom: 4.6875rem;
}
.talk-to-us-header .section-header-content{
    flex: 1;
}
.section-header-content h2{
    display: block;
    margin-bottom: 1.5625rem;
}
.section-header-content h2 > span{
    display: inline;
}
.section-header-content .dots {
    display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .3125rem;
    margin-left: .1875rem; /* 3px */
}
.section-header-content .dots span{
    display: block;
    width: .625rem;
    height: .625rem;
    background: var(--so-white);
    border-radius: 50%;
} 
.field.acceptance-field {
	margin-bottom: 0;
}
.acceptance-submit {
	margin-top: 20px;
    display: flex;
    align-items: start;
    column-gap: 9.375rem;
}
.submit-field{
    width: 9.75rem; /* 156px */
}
.submit-field input{
    background:var(--so-black);
    color:var(--so-white);
    padding: .9375rem 3.125rem; /* 15px 50px */
    border-radius: 3.125rem;
    cursor: pointer;
    font-size: 1.125rem; /* 18px */
    line-height: 1;
    font-weight: 500;
    font-family: var(--font-sf-pro-display);
    transition: 0.3s all ease;
}
.submit-field input:hover{
    background: var(--so-white);
    color: var(--so-black);
}
@media only screen and (max-width:1599px) {

    .talk-to-us-grid {
        padding: 6.25rem;   /* 100px */
    }
}
@media only screen and (max-width:1199px) {

    .talk-to-us-grid {
        padding: 5rem;   /* 80px */
    }
    .acceptance-submit {
        column-gap: 3.125rem; /* 50px */
    }

}

@media only screen and (max-width:991px) {

    .talk-to-us-grid {
        padding: 3.125rem;   /* 50px */
    }
    input, textarea {
        padding: 1.25rem 1.25rem; /* 25px 20px */
    }

}

@media only screen and (max-width:767px) {

    .talk-to-us-grid {
        padding: 3.125rem .9375rem;   /* 15px */
        border-radius: 1.5625rem; /* 25px */
    }
    .section-header.talk-to-us-header {
        display: block;
        text-align: center;
        margin-bottom: 30px;
    }
    .lets-discuss-logo {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 1.875rem; /* 30px */
    }
    .section-header-content h2 {
        text-align: center;
        justify-content: center;
        margin-bottom: 45px;
    }
    .field {
        margin-bottom: 10px;
    }
    input, textarea {
        font-size: 16px;
        line-height: 24px;
        font-weight: 400;
        padding: 17px 20px;
        border-radius: 10px;
    }
    .acceptance-submit {
        display: block;
        margin-top: 17px;
    }
    .submit-field {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        margin-top: 50px;
    }
    .wpcf7-list-item label {
        column-gap: .625rem; /* 10px */
    }
}
/* Talk to us Style End */


/* Project Filter Style Start */

.filter-nav{
    border-top: 1px solid var(--so-black);
    border-bottom: 1px solid var(--so-black);
    padding: 1.5625rem 0; /* 25px */
    margin-top: 3.125rem; /* 50px */
    position: relative;
}
.filter-nav ul{
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    gap: 3.3125rem; /* 53px */
}
.filter-nav ul li .site-btn:not(.filter-nav ul li:first-child .site-btn){
    color: var(--so-black);
}
.filter-nav .site-btn.btn-all{
    color: var(--so-black);
}
.filter-nav .site-btn.btn-all.active,
.filter-nav .site-btn.btn-all:hover{
    background: var(--so-black);
    color: var(--so-white);
}
.filter-results .card-grid-4Columns {
	margin-top: 3.125rem; /* 50px */
    row-gap: 3.125rem; /* 50px */
}
.filter-nav .swiper {
    width: 100%;
}
.filter-nav .swiper-wrapper {
    display: flex;
    align-items: center;
}
.filter-nav .swiper-slide {
    width: auto !important;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.filter-nav .site-btn {
    white-space: nowrap;
    color: var(--so-black);
}
@media only screen and (max-width:767px) {
    .filter-results .card-grid-4Columns {
        row-gap: 1.875rem; /* 30px */
    }
}

/* Project Filter Style End */



/* Project Performance Highlights Style Start */

.card-grid-3Columns{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)); 
    gap: 3.125rem; /* 50px */
    margin-top: 3.125rem; /* 50px */
}
.project-performance-card{
    padding: 3.3125rem 4.875rem 2.6875rem 4.875rem; /* 53px 78px 43px 78px */
    border-radius: 3.125rem; /* 50px */
    display: flex;
    flex-direction: column;
}
.performance-card-header{
    display: flex;
    gap: .9375rem;
    align-items: center;
    margin-bottom: 1.25rem; /* 20px */
}
.performance-card-header h5{
    margin-bottom: 0;
}
.performance-description{
    color: var(--so-white);
    font-family: var(--font-sf-pro-display);
    font-weight: 700;
    flex-grow: 1;
}
.performance-value{
    color: var(--so-black);
    font-family: var(--font-sf-pro-display);
    font-weight: 700;
    font-size: 6.25rem; /* 100px */
    line-height: 1;
    margin-top: 1.875rem; /* 30px */
}
@media only screen and (max-width:1399px) {

    .card-grid-3Columns{
        gap: 1.875rem; /* 30px */
        row-gap: 3.125rem; /* 50px */
    }
    .project-performance-card{
        padding: 2.5rem 2.5rem 2.5rem 2.5rem; /* 40px */
    }
    .performance-value{
        font-size: 5rem; /* 80px */
    }
}
@media only screen and (max-width:1199px) {

    .card-grid-3Columns{
        grid-template-columns: repeat(2, minmax(0, 1fr)); 
    }
    .project-performance-card:last-of-type{
        grid-column: span 2;
        text-align: center;
    }
    .project-performance-card:last-of-type .performance-card-header {
        justify-content: center;
    }
}
@media only screen and (max-width:767px) {

    .card-grid-3Columns{
        grid-template-columns: 1fr; 
        margin-top: 1.875rem; /* 30px */
        gap: .9375rem; /* 15px */
    }
    .project-performance-card{
        border-radius: 1.5625rem; /* 25px */
        padding: 1.875rem 1.5625rem; /* 30px 25px */
    }
    .project-performance-card:last-of-type{
        grid-column: span 1;
        text-align: left;
    }
    .project-performance-card:last-of-type .performance-card-header {
        justify-content: flex-start;
    }
    .performance-value{
        font-size: 3.75rem; /* 60px */
    }
    .inner-hero-content .project-tags {
        font-size: 1.125rem; /* 18px */
    }


}

/* Project Performance Highlights Style End */

/* Project Contributions Style Start */

.project-contributions-grid{
    border-radius: 3.125rem; /* 50px */
    padding: 6.25rem 3.125rem; /* 50px 100px */
    display: grid;
    grid-template-columns: 1fr 33.75rem;
    gap: 11.125rem; /* 178px */
}
.project-contributions-label{
    display: flex;
    align-items: center;
    gap: .9375rem; /* 15px */
    font-size: 1.5625rem; /* 25px */
    line-height: 1;
    font-weight: 700;
    margin-bottom: 1.5625rem; /* 25px */
    font-family: var(--font-sf-pro-display);
}
.project-contributions-icon {
    max-width: 1.5625rem; /* 25px */
}
.project-contributions-content{
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
    font-weight: 400;
}
@media only screen and (max-width:1799px) {

    .project-contributions-grid{
        gap: 6.25rem; /* 100px */
    }

}
@media only screen and (max-width:1399px) {

    .project-contributions-grid{
        grid-template-columns: 1fr 1fr;
        gap: 3.125rem; /* 50px */
    }

}
@media only screen and (max-width:1199px) {

    .project-contributions-grid{
        grid-template-columns: 1fr;
        gap: 1.25rem; /* 20px */
        padding: 3.125rem; /* 50px */
    }

}
@media only screen and (max-width:767px) {

    .project-contributions-grid{
        padding: 3.125rem .9375rem; /* 50px */
        border-radius: 1.5625rem; /* 25px */
        text-align: center;
    }
    .project-contributions-label {
        justify-content: center;
    }
    .project-contributions-label{
        gap: .625rem; /* 10px */
    }
}
/* Project Contributions Style End */

/* Full width Media Section Start */

.full-width-medias {
    display: flex;
    flex-direction: column;
    gap: 1.5625rem; /* 25px */
}
.full-width-medias img,
.full-width-medias video,
.full-width-medias iframe {
    border-radius: 3.125rem; /* 50px */
    width: 100%;
    object-fit: cover;
}
@media only screen and (max-width:767px) {

    .full-width-medias {
        gap: .9375rem; /* 15px */
    }
    .full-width-medias img,
    .full-width-medias video,
    .full-width-medias iframe {
        border-radius: 1.5625rem; /* 25px */
    }

}

/* Full width Media Section End */

/* Project Mobile Design Mockups Style Start */
.project-mobile-mockups{
    position: relative;
}
.project-mobile-mockups::before{
    position: absolute;
    content: "";
    width: 100%;
    height: 90%;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background: var(--so-grey-light);
    z-index: -1;
}
.mockups-grid{
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 3.125rem; /* 50px */
    padding: 0 9.0625rem; /* 145px */
    flex-wrap: wrap;
}
.mockups-count-1 {
    justify-content: center;
}
.mockups-count-1 > .mockup-image {
    flex: 0 1 30%;
    max-width: 30%;
}
.mockups-count-2 {
    justify-content: center;
}
.mockups-count-2 > .mockup-image {
    flex: 0 1 30%;
    max-width: 30%;
}
.mockups-count-3 > .mockup-image {
    flex: 0 1 30%;
    max-width: 30%;
}
.mockup-image img {
	height: 100% !important;
	width: 100% !important;
    object-fit: contain;
}
@media only screen and (max-width:1399px) {

    .mockups-grid{
        gap: 1.875rem; /* 30px */
    }

}
@media only screen and (max-width:1199px) {

    .mockups-count-1 > .mockup-image {
        flex: 0 1 40%;
        max-width: 40%;
    }

}
@media only screen and (max-width:991px) {

    .mockups-grid{
        gap: 1.25rem; /* 20px */
        padding: 0 6.25rem; /* 100px */
    }
    .mockups-count-1 > .mockup-image {
        flex: 0 1 45%;
        max-width: 45%;
    }
    .mockups-count-2 > .mockup-image {
        flex: 0 1 40%;
        max-width: 40%;
    }

}
@media only screen and (max-width:767px) {

    .mockups-grid{
        gap: .9375rem; /* 15px */
        padding: 0;
    }
    .mockups-count-1 {
        flex-direction: column;
        align-items: center;
    }
    .mockups-count-1 > .mockup-image {
        flex: 0 1 50%;
        max-width: 50%;
    }
    .mockups-count-2 > .mockup-image {
        flex: 0 1 calc((100% - .9375rem) / 2);
        max-width: calc((100% - .9375rem) / 2);
    }
    .mockup-image {
        flex-basis: 100%;
        max-width: 100%;
    }

}
/* Project Mobile Design Mockups Style End */





/* Related Projects Style Start */

.related-products .card-grid-3Columns {
	gap: 1.5625rem; /* 25px */
}
@media only screen and (max-width:1199px) {

    .related-products .card-grid-3Columns {
        grid-template-columns: repeat(3, 1fr);
    }

}
@media only screen and (min-width:768px) and (max-width:991px) {

    .related-products .card-grid-3Columns {
        grid-template-columns: repeat(2, 1fr);
    }
    .card-grid-3Columns.has-3-cards .odd-card:last-of-type .card-thumb,
    .card-grid-3Columns.has-3-cards .odd-card:last-of-type .card-thumb img{
        height: 27.25rem; /* 436px */
    }
    .card-grid-3Columns.has-3-cards .odd-card:last-of-type {
        grid-column: span 2;
    }

}
/* Related Projects Style End */

/* Quick Contact Section Style Start */
.page-template-contact-page-php #inner-hero-title br {
	display: block;
}
.quick-contact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
    gap: 1.5625rem; /* 25px */
    margin-top: 1.5625rem; /* 25px */
}
.quick-contact  .so-call-us {
    background: var(--so-green);
}
.quick-contact  .so-email-us {
    background: var(--so-red);
}
.quick-contact .so-call-us,
.quick-contact .so-email-us {
    border-radius: 3.125rem; /* 50px */
    padding: 3.125rem; /* 50px */
}
.quick-contact .call-us-icon,
.quick-contact .email-us-icon{
    display: flex;
    align-items: center;
    column-gap: .9375rem; /* 15px */
    margin-bottom: 1.25rem; /* 20px */
}
.quick-contact .call-us-icon span,
.quick-contact .email-us-icon span{
    font-size: 1.5625rem; /* 25px */
    line-height: 1;
    font-weight: 700;
    font-family: var(--font-sf-pro-display);
}
.quick-contact .call-us-text a,
.quick-contact .email-us-text a{
    font-size: 3.125rem; /* 50px */
    line-height: 1;
    font-weight: 700;
    font-family: var(--font-sf-pro-display);
    text-decoration: none;
    color: var(--so-white);
}
@media only screen and (max-width:1399px) {

    .quick-contact .call-us-text a,
    .quick-contact .email-us-text a{
        font-size: 2.5rem; /* 40px */
    }

}
@media only screen and (max-width:1199px) {

    .quick-contact .call-us-text a,
    .quick-contact .email-us-text a{
        font-size: 2rem; /* 32px */
    }
    .quick-contact .so-call-us,
    .quick-contact .so-email-us {
        padding: 2.5rem; /* 40px */
    }
}
@media only screen and (max-width:991px) {

    .quick-contact .call-us-text a,
    .quick-contact .email-us-text a{
        font-size: 1.5rem; /* 24px */
    }
    .quick-contact .so-call-us,
    .quick-contact .so-email-us {
        padding: 2rem; /* 32px */
        margin: 0;
        border-radius: 1.5625rem; /* 25px */
    }
    .quick-contact .call-us-icon,
    .quick-contact .email-us-icon{
        margin-bottom: .9375rem; /* 15px */
    }
    .quick-contact .call-us-icon span, 
    .quick-contact .email-us-icon span {
        font-size: 1.375rem; /* 22px */
    }

}
@media only screen and (max-width:767px) {

    .quick-contact {
        grid-template-columns: 1fr;
        gap: .9375rem; /* 15px */
    }

}
/* Quick Contact Section Style End */


/* Find us Section Style Start */
.find-us-section{
    background: var(--so-grey-light);
}
.office-locations{
    display: grid;
    grid-template-columns: 1fr 36.75rem; /* 1fr 588px */
    gap: 1.5625rem; /* 25px */
    margin-top: 3.125rem; /* 50px */
}
.office-photo{
    height: 35.4375rem; /* 567px */
}
.office-photo img{
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    border-radius: 3.125rem; /* 50px */
}
.office-info{
    position: relative;
    padding-left: 4.0625rem; /* 65px */
    margin-top: 1.5625rem; /* 25px */
}
.office-icon{
    position: absolute;
    width: 2.5rem; /* 40px */
    height: 2.5rem; /* 40px */
    top: .3125rem; /* 5px */
    left: 0;
}
.office-info h3 {
    margin-bottom: .6875rem; /* 11px */
}
.office-info p{
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
}
@media only screen and (max-width:1399px) {

    .office-info h3 {
        font-size: 40px;
    }
    .office-locations{
        grid-template-columns: 1fr 28.125rem; /* 1fr 450px */
    }
    .office-photo{
        height: 31.25rem; /* 500px */
    }

}
@media only screen and (max-width:1199px) {

    .office-locations{
        grid-template-columns: 1fr 1fr;
    }
    .office-photo{
        height: 25rem; /* 400px */
    }

}
@media only screen and (max-width:991px) {

    .office-info{
        padding-left: 3.4375rem; /* 55px */
    }
    .office-info h3 {
        font-size: 32px;
    }
    .office-photo{
        height: 21.875rem; /* 350px */
    }
}
@media only screen and (max-width:767px) {

    .office-locations{
       grid-template-columns: 1fr;
       gap: 2.5rem; /* 40px */
    }
    .office-photo{
        height: auto;
    }
    .office-photo img{
        border-radius: 1.5625rem; /* 25px */
    }

}
/* Find us Section Style End */


/* Blog Page Style Start */

.post-banner .desktop-thumbnail img{
    border-radius: 3.125rem; /* 50px */
}
@media only screen and (max-width:767px) {
    .post-banner .desktop-thumbnail img{
        border-radius: 0;
    }

}
.post-categories {
    margin-bottom: .5rem; /* 8px */
}
.post-categories .post-category{
    font-size: 1rem; /* 16px */
    line-height: 1;
    line-height: 1.5rem; /* 24px */
    font-weight: 400;
}
.post-card-content{
    padding: 1.875rem 1.875rem 4rem 1.875rem; /* 30px 64px */
}
/* Blog Page Style End */

/* Single Post Style Start */

.post-hero-images{
	aspect-ratio: 742 / 742;
}
.inner-hero-content .post-categories,
.post-header-content .post-categories {
	display: flex;
	gap: .9375rem; /* 15px */
	align-items: center;
	margin-bottom: 1.5625rem; /* 25px */
}
.post-category-icon {
	display: flex;
	align-items: center;
}
.inner-hero-content .post-category,
.post-header-content .post-category{
      font-size: 1.5625rem; /* 25px */
      line-height: 1;
      font-weight: 700;
      font-family: var(--font-sf-pro-display);
}
.post-content .wysiwyg-content h2:not(:first-child),
.post-content .wysiwyg-content h3:not(:first-child),
.post-content .wysiwyg-content h4:not(:first-child) {
    margin-top: 5rem; /* 80px */
}
.post-content .wysiwyg-content h2,
.post-content .wysiwyg-content h3,
.post-content .wysiwyg-content h4,
.post-content .wysiwyg-content h5 {
    margin-bottom: 1.5rem; /* 24px */
}
.post-content .wysiwyg-content p:not(:last-of-type){
    margin-bottom: 1.5rem; /* 24px */
}
@media only screen and (max-width:1199px) {

    .post-content .wysiwyg-content h2:not(:first-child),
    .post-content .wysiwyg-content h3:not(:first-child),
    .post-content .wysiwyg-content h4:not(:first-child) {
        margin-top: 4.375rem; /* 70px */
    }
}
@media only screen and (max-width:991px) {

    .inner-hero-content .post-categories {
        justify-content: center;
    }
    .post-content .wysiwyg-content h2:not(:first-child),
    .post-content .wysiwyg-content h3:not(:first-child),
    .post-content .wysiwyg-content h4:not(:first-child) {
        margin-top: 3.125rem; /* 50px */
    }
}

/* For Classic Editor */

.post-classic-header{
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-column-gap: 3rem; /* 48px */
    grid-row-gap: 1rem; /* 16px */
}
.intro-text.h6-style {
	line-height: 150%;
}
@media only screen and (max-width:991px) {

    .post-classic-header{
        display: block;
        }
    .intro-text {
        margin-top: 2.5rem; /* 40px */
    }

}


/* For Classic Editor End */





/* Single Post Style End */



/* Media Content 50/50 Style Start */

.media-fifty img,
.media-content-fifty-grid{
    border-radius: 3.125rem; /* 50px */
}
.media-fifty img{
    /* aspect-ratio: 898 / 840; */
    /* min-height: 840px; */
}
.media-fifty { 
    grid-area: media; 
}
.content-fifty { 
    grid-area: content; 
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
    font-weight: 400;
    padding: 5.5rem 0;
}
.media-content-fifty-grid{
    display: grid;
    gap: 11.125rem; /* 178px */
    grid-template-areas: "media content";
    grid-template-columns: 1fr 36.875rem; /* 590px */
}
.media-position-left-grid{
    padding-right: 9.6875rem; /* 155px */
}
.media-position-right-grid{
    grid-template-areas: "content media";
    grid-template-columns: 36.875rem 1fr; /* 590px */
    padding-left: 9.6875rem; /* 155px */
}

.content-fifty-title {
    display: flex;
    align-items: flex-start;
    gap: 1.5625rem; /* 25px */
    margin-bottom: 3.125rem; /* 50px */
}
.content-fifty-icon {
  flex: 0 0 1.5625rem;
  width: 1.5625rem; /* 25px */
  position: relative;
  top: .75rem; /* 12px */
}
.content-fifty-title h2{
    margin: 0;
}
@media only screen and (max-width:1699px) {

    .media-content-fifty-grid{
        gap: 6.25rem; /* 100px */
    }
    .media-position-left-grid{
        padding-right: 6.25rem; /* 100px */
    }
    .media-position-right-grid{
        padding-left: 6.25rem; /* 100px */
    }
}
@media only screen and (max-width:1599px) {

    .media-content-fifty-grid{
        grid-template-columns: 1fr 1fr; 
        gap: 5rem; /* 80px */
    }
    .media-position-left-grid{
        padding-right: 5rem; /* 80px */
    }
    .media-position-right-grid{
        grid-template-columns: 1fr 1fr;
        padding-left: 5rem; /* 80px */
    }

}
@media only screen and (max-width:1399px) {

    .media-content-fifty-grid{
        gap: 3.125rem; /* 50px */
    }
    .media-position-left-grid{
        padding-right: 3.125rem; /* 50px */
    }
    .media-position-right-grid{
        padding-left: 3.125rem; /* 50px */
    }

}
@media only screen and (max-width:991px) {

    .media-content-fifty-grid {
        grid-template-columns: 1fr;
        grid-template-areas: "content" "media";
        width: 100%;
        gap: 2.5rem; /* 40px */
    }
    .media-position-left-grid,
    .media-position-right-grid {
        grid-template-columns: 1fr;
        padding: 0;
    }
    .content-fifty{
        padding: 3.125rem; /* 50px */
        padding-bottom: 0;
    }
    .content-fifty-title {
        margin-bottom: 1.875rem; /* 30px */
    }
    .content-fifty-icon {
        top: .4375rem; /* 7px */
    }
    /* .media-fifty img{
        aspect-ratio: 720 / 400;
    } */


}
@media only screen and (max-width:767px) {

    .media-content-fifty-grid {
        gap: 1.875rem; /* 30px */
    }
    .content-fifty{
        padding-left: .9375rem; /* 15px */
        padding-right: .9375rem; /* 15px */
    }
    .media-fifty img,
    .media-content-fifty-grid{
        border-radius: 1.5625rem; /* 25px */
    }
    /* .media-fifty img{
        aspect-ratio: 322 / 228;
    } */
    .content-fifty-title {
        gap: .9375rem; /* 15px */
    }
    .content-fifty-title h2 {
        text-align: left;
    }
    .content-fifty-description {
        text-align: left;
    }
}
/* Media Content 50/50 Style End */

/* Impact Message Style Start */
.impact-message-content{
    padding: 6.25rem 3.125rem;
    border-radius: 3.125rem; /* 50px */
}
.impact-message-inner{
    max-width: 75.1875rem; /* 1200px */
    margin: 0 auto;
    text-align: center;
    font-family: var(--font-sf-pro-display);
    font-size: 3.125rem; /* 50px */
    line-height: 130%;
    font-weight: 700;
}
.impact-message-logo{
    margin-bottom: 3.125rem; /* 50px */
}
@media only screen and (max-width:991px) {

    .impact-message-inner {
        font-size: 2.1875rem; /* 35px */
    }

}
@media only screen and (max-width:767px) {

    .impact-message-content{
        padding: 3.125rem .9375rem; /* 50px 15px */
        border-radius: 1.5625rem; /* 25px */
    }
    .impact-message-inner {
        font-size: 1.5625rem; /* 25px */
    }
    .impact-message-logo{
        margin-bottom: 1.875rem; /* 30px */
    }
}
/* Impact Message Style End */



/* Service Related/Tagged Page Style Start */

.service-sub-page-section .section-header-content h2 {
    text-align: center;
}
.service-sub-pages{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.5625rem; /* 25px */
    margin-top: 3.125rem; /* 50px */
}
@media only screen and (max-width:1199px) {

    .service-sub-pages{
        gap: .9375rem; /* 15px */
    }


}

/* Service Related/Tagged Page Style End */


/* Service List Media Content Fifty Layout Style Start */

.content-fifty .service-sub-pages {
	justify-content: flex-start;
    border-top: 1px solid var(--so-black);
    padding-top: 3.125rem; /* 50px */
    row-gap: 1.25rem; /* 20px */
}
@media only screen and (max-width:991px) {

    .content-fifty .service-sub-pages {
        justify-content: center;
        padding-top: 2.5rem;   /* 40px */
        margin-top: 2.5rem;   /* 40px */
    }

}
@media only screen and (max-width:767px) {

    .content-fifty .service-sub-pages {
        justify-content: center;
        column-gap: .9375rem; /* 15px */
        row-gap: .9375rem; /* 15px */
        padding-top: 1.875rem; /* 30px */
        margin-top: 1.875rem; /* 30px */
    }

}

/* Service List Media Content Fifty Layout Style End */


/* Service Package Style Start */

.package-cards-grid{
    display: grid;
    gap: 3.125rem; /* 50 */
}    
.package-cards-grid-3{
    grid-template-columns: repeat(3, minmax(0, 1fr)); 
}
.package-cards-grid-2{
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
}
.package-cards-grid-1{
    grid-template-columns: 1fr; 
}
.package-cards-grid-1 .package-card{
    max-width: 75.3125rem; /* 1205px */
    margin-left: auto;
    margin-right: auto;
}
.package-card{
    border-radius: 3.125rem; /* 50px */
    padding: 3.125rem; /* 50px */
    display: flex;
    flex-direction: column;
}
.package-header,
.package-overview,
.package-audience,
.package-footer{
    flex-shrink: 0;
}
.package-features{
    flex-grow: 1;
}
.package-header{
    display: flex;
    align-items: flex-start;
    gap: 1.5625rem;  
}
.package-header .package-icon{
    width: 6.25rem; 
    height: 6.25rem;
    border-radius: 1.5625rem;
    background: var(--so-white);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .75rem;
    flex: 0 0 auto; 
}
.package-header h4{
    flex: 1 1 0; 
    margin: 0;
}
.package-overview{
    font-size: 1.125rem; /* 18px */
    line-height: 1.6875rem; /* 27px */
    font-weight: 700;
    margin-top: 1.5625rem; /* 25px */
}
.package-features{
    margin-top: 2.125rem;
}
.package-features ul{
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem; /* 16px */
}
.package-features ul li{
    display: block;
    position: relative;
    padding-left: 3.125rem; /* 50px */
}
.package-features ul li::before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 1rem; /* 16px */
    height: 1.6875rem; /* 27px */
    background: url('assets/images/check.svg') no-repeat center center;
    background-size: contain;
}
.package-audience{
    margin: 2.1875rem 0 3.125rem 0; /* 35px 0 50px 0 */
}

@media only screen and (min-width:1400px) and (max-width:1599px) {

    .package-cards-grid-3{
        gap: 2.1875rem;
    }
    .package-cards-grid-3 .package-card{
        padding: 3.125rem 2.1875rem;
    }
    .package-cards-grid-3 .package-header{
        gap: 1.25rem; 
    }
    .package-cards-grid-3 .package-header .package-icon {
        width: 5rem;
        height: 5rem;
    }
    .package-cards-grid-3 .package-header h4{
        font-size: 1.75rem; 
        line-height: 130%;
    }

}
@media only screen and (max-width:1599px) {

    .package-features ul li {
        padding-left: 2.1875rem;
    }
}

@media only screen and (max-width:1399px) {

    .package-cards-grid-3{
        grid-template-columns: repeat(2, minmax(0, 1fr)); 
    }
    .package-cards-grid-3 .package-card:last-of-type{
        grid-column: span 2;
        margin-left: auto;
        margin-right: auto;
    }

}
@media only screen and (max-width:1199px) {

    .package-cards-grid{
        gap: 1.875rem; /* 30px */
    }  

}
@media only screen and (max-width:991px) {

    .package-cards-grid-3,
    .package-cards-grid-2{
        grid-template-columns: 1fr; 
    }
    .package-cards-grid-3 .package-card:last-of-type{
        grid-column: span 1;
        margin-left: inherit;
        margin-right: inherit;
    }

}
@media only screen and (max-width:767px) {

    .package-cards-grid {
        gap: 1.5625rem; /* 25px */
    }
    .package-header .package-icon {
        width: 3.75rem; /* 60px */
        height: 3.75rem; /* 60px */
        border-radius: 0.9375rem; /* 15px */
    }
    .package-header {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.625rem; /* 10px */
    }
    .package-card {
        border-radius: 1.5625rem; /* 25px */
        padding: 3.125rem 1.5625rem; /* 50px 25px */
    }
    .package-features {
        margin-top: 1.125rem; /* 18px */
    }
    .package-audience {
        margin-top: 1.25rem; /* 20px */
        margin-bottom: 2.5rem; /* 40px */
    }
    .package-footer .site-btn {
        width: 100%;
        text-align: center;
    }
    .package-header h4 {
        text-align: center;
    }



}

/* Service Package Style End */




/* Let Us Guide Section Style Start */
.let-us-guide-inner {
    display: grid;
    grid-template-columns: 100%;
    align-items: start;
}
.let-us-guide-content,.let-us-guide-banner {
    grid-column: 1;
    grid-row: 1;
}
.let-us-guide-content {
    position: relative;
    z-index: 2;
    padding: 3.125rem; /* 50px */
}
.let-us-guide-content-inner{
    max-width: 43.375rem; /* 694px */
    padding: 3.125rem; /* 50px */
    border-radius: 3.125rem; /* 50px */
    position: relative;
}
.let-us-guide-content-inner::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 3.125rem; /* 50px */
    top: 0;
    left: 0;
    backdrop-filter: blur(.3125rem); /* 5px */
    opacity: 0.9;
    z-index: -1;
}
.let-us-guide-content h2{
    margin-bottom: 2.5rem; /* 40px */
}
.let-us-guide-content .site-btn{
    margin-top: 2.75rem; /* 44px */
}
.let-us-guide-banner img{
    border-radius: 3.125rem; /* 50px */
    aspect-ratio: 1820 / 600;
    min-height: 37.5rem; /* 600px */
}
@media only screen and (max-width:1199px) {

    .let-us-guide-content-inner {
        max-width: 31.25rem; /* 500px */
        padding: 2.5rem; /* 40px */
    }
    .let-us-guide-content {
        padding: 2.5rem; /* 40px */
    }
}
@media only screen and (max-width:767px) {

    .let-us-guide-banner img{
        border-radius: 1.5625rem; /* 25px */
    }
    .let-us-guide-content-inner {
        padding: 1.875rem .9375rem; /* 30px 15px */
        border-radius: 1.5625rem; /* 25px */
        text-align: center;
    }
    .let-us-guide-content-inner::after{
        border-radius: 1.5625rem; /* 25px */
    }
    .let-us-guide-content {
        padding: 1.25rem; /* 20px */
    }



}
/* Let Us Guide Section Style End */


/* Why Choose Us Style Start */

.why-choose-us-inner{
    border-radius: 3.125rem; /* 50px */
    padding: 6.25rem 16.75rem; /* 100px 268px */
}
.why-choose-us-inner .section-header{
    margin-bottom: 6.25rem; /* 100px */
}
.why-choose-content-wrapper{
    max-width: 75.3125rem; /* 1205px */
    margin-left: auto;
    margin-right: auto;
}
.why-choose-content-2Columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6.25rem; /* 100px */
}
.why-choose-content:not(.why-choose-content-2Columns .why-choose-content){
    text-align: center;
}
.why-choose-btn{
    margin-top: 6.25rem; /* 100px */
}
@media only screen and (max-width:1799px) {

    .why-choose-us-inner{
        padding: 6.25rem 6.25rem; /* 100px 100px */
    }

}
@media only screen and (max-width:1599px) {

    .why-choose-content-2Columns {
        gap: 3.125rem; /* 50px */
    }

}
@media only screen and (max-width:1199px) {
    .why-choose-us-inner{
        border-radius: 3.125rem; /* 50px */
        padding: 4.375rem; /* 70px */
    }

    .why-choose-us-inner .section-header{
        margin-bottom: 4.375rem; /* 70px */
    }
    .why-choose-btn{
        margin-top: 4.375rem; /* 70px */
    }

    .why-choose-content-2Columns {
        grid-template-columns: 1fr;
        gap: .9375rem;
    }
    .why-choose-content{
        text-align: center;
    }

}
@media only screen and (max-width:991px) {

    .why-choose-us-inner .section-header{
        margin-bottom: 3.125rem;   /* 50px */
    }
    .why-choose-btn{
        margin-top: 3.125rem; /* 50px */
    }

}

@media only screen and (max-width:767px) {

    .why-choose-us-inner{
        border-radius: 1.5625rem; /* 25px */
        padding: 3.125rem .9375rem; /* 50px 15px */
    }
    .why-choose-us-inner .section-header{
        margin-bottom: 2.5rem; /* 40px */
    }

}

/* Why Choose Us Style End */




/* SO Advantage Style Start */
.so-advantage-section{
    background:var(--so-grey-light);
}
.so-advantage-section .section-header{
    margin-bottom: 2.9375rem; /* 47px */
}
.advantage-card-grid{
    display: grid;
    gap: 1.5625rem; /* 25px */
}
.advantage-card-grid-4{
    grid-template-columns: repeat(4, 1fr);
}
.advantage-card-grid-3{
    grid-template-columns: repeat(3, 1fr);
}
.advantage-card-grid-2{
    grid-template-columns: repeat(2, 1fr);
}
.advantage-card-grid-1{
    grid-template-columns: repeat(1, 1fr);
}
.advantage-card-grid-1 .advantage-card {
  max-width: 1205px;
  width: 100%;         
  justify-self: center; 
}
.advantage-card{
    border-radius: 3.125rem; /* 50px */
    padding: 3.125rem; /* 50px */
    text-align: center;

    display: flex;
    flex-direction: column;
}
.advantage-icon{
    margin-bottom: 3.75rem; /* 60px */
}
.advantage-card h4{
    flex-grow: 1;
}
.advantage-description{
    margin-top: 2.125rem; /* 34px */
}
@media only screen and (min-width:1600px) and (max-width:1799px) {

    .advantage-card-grid-4 .advantage-icon{
        margin-bottom: 2.5rem; /* 40px */
    }
    .advantage-card-grid-4 .advantage-description{
        margin-top: 1rem; /* 16px */
    }

}
@media only screen and (max-width:1599px) {

    .advantage-card-grid-4{
        grid-template-columns: repeat(3, 1fr);
    }
    .advantage-card-grid-4 .advantage-card:last-of-type{
        grid-column: 1 / -1;     
        justify-self: center;    
        max-width: 70%;         
    }
}
@media only screen and (max-width:1399px) {

    .advantage-icon{
        margin-bottom: 2.5rem; /* 40px */
    }
    .advantage-description{
        margin-top: 1rem; /* 16px */
    }

}
@media only screen and (max-width:1199px) {

    .advantage-card-grid-4,
    .advantage-card-grid-3{
        grid-template-columns: repeat(2, 1fr);
    }
    .advantage-card-grid-4 .advantage-card:last-of-type{
        grid-column: inherit;     
        justify-self: inherit;    
        max-width: inherit;         
    }

}
@media only screen and (max-width:767px) {

    .advantage-card-grid-4,
    .advantage-card-grid-3,
    .advantage-card-grid-2{
        grid-template-columns: 1fr;
    }
    .advantage-card{
        border-radius: 1.5625rem; /* 25px */
    }


}
/* SO Advantage Style End */



/* Ready To Start Style Start */

.ready-to-start-section{
    margin-top: 12.5rem; /* 200px */
    margin-bottom: 12.5rem; /* 200px */
}
.ready-to-start-inner{
    border-radius: 3.125rem; /* 50px */
    padding: 6.25rem 9.375rem; /* 100px 150px */
    position: relative;
    padding-left: 42rem; /* 672px */
}
.ready-to-start-content h3{
    margin-bottom: 3.125rem; /* 50px */
}
.ready-to-start-content .site-btn{
    margin-top: 3.125rem; /* 50px */
}
.ready-to-start-image{
    position: absolute;
    width: 31.75rem; /* 508px */
    top: 50%;
    left: 3.125rem; /* 50px */
    transform: translateY(-50%);
}
@media only screen and (max-width:1599px) {

    .ready-to-start-section{
        margin-top: 10.625rem; /* 170px */
        margin-bottom: 10.625rem; /* 170px */
    }

}
@media only screen and (max-width:1399px) {

    .ready-to-start-inner{
        padding: 6.25rem; /* 100px */
        padding-left: 35.75rem; /* 572px */
    }

}
@media only screen and (max-width:1199px) {

    .ready-to-start-section{
        margin-top: 6.25rem; /* 100px */
        margin-bottom: 0;
    }
    .ready-to-start-image{
        width: 18.75rem; /* 300px */
    }
    .ready-to-start-inner{
        padding: 6.25rem; /* 100px */
        padding-left: 25rem; /* 400px */
    }

}
@media only screen and (max-width:991px) {

    .ready-to-start-section{
        margin-top: 8.75rem; /* 140px */
    }
    .ready-to-start-inner{
        padding: 0 4.375rem 4.375rem 4.375rem; /* 100px */
    }
    .ready-to-start-image{
        position: relative;
        left: 50%;
        transform: translate(-50%, 0%);
        top: -4.375rem; /* 70px */
    }
    .ready-to-start-content{
        margin-top: -2.5rem; /* -40px */
        text-align: center;
    }
    .ready-to-start-content h3{
        margin-bottom: 1.875rem; /* 30px */
    }
    .ready-to-start-content .site-btn{
        margin-top: 1.875rem; /* 30px */
    }
}
@media only screen and (max-width:767px) {

    .ready-to-start-section{
        margin-top: 7.5rem; /* 120px */
    }
    .ready-to-start-inner{
        padding: 0 1.5625rem 3.125rem 1.5625rem; /* 25px */
        border-radius: 1.5625rem; /* 25px */
    }


}

/* Ready To Start Style End */



 /* FAQ Section Style Start */

@media only screen and (min-width:1200px) {
    .faq-section-inner{
        padding-left: 4.8125rem; /* 77px */
        padding-right: 4.8125rem; /* 77px */
    }
}
.faq-accordion{
    display: flex;
    flex-direction: column;
    gap: .9375rem; /* 15px */
    margin-top: 2.9375rem; /* 47px */
}
.faq-card{
    padding: 1.5625rem 1.875rem; /* 25px 30px */
    border-radius: 1.5625rem; /* 25px */
}
.faq-question{
    margin: 0;
    cursor: pointer;
    position: relative;
    padding-right: 2.5rem; /* 40px */
}
.faq-question::after{
    position: absolute;
    content: "";
    width: 1.875rem; /* 30px */
    height: 1.875rem; /* 30px */
    top: 0;
    right: 0;
    background: url("assets/images/plus-icon.png") no-repeat center center;
    background-size: contain;
    cursor: pointer;
}
.faq-question.isOpen::after{
    background: url("assets/images/minus-icon.svg") no-repeat center center;
    background-size: contain;
}
.faq-answer{
    display: none;
    margin-top: 1.875rem; /* 30px */
    overflow: hidden;
}
 /* FAQ Section Style End */



/* Our Foundation Section Style Start */

.our-foundation-section .section-header{
    margin-bottom: 2.9375rem; /* 47px */
}
.foundation-card-grid{
    display: grid;
    gap: 1.5625rem; /* 25px */
}
.foundation-card-grid-3{
    grid-template-columns: repeat(3, 1fr);
}
.foundation-card-grid-2{
    grid-template-columns: repeat(2, 1fr);
    max-width: 1205px;
    margin-left:auto;
    margin-right:auto;
}
.foundation-card-grid-1{
    grid-template-columns: repeat(1, 1fr);
}
.foundation-card-grid-1 .foundation-card {
  max-width: 1205px;
  width: 100%;         
  justify-self: center; 
}
.foundation-card{
    padding: 3.125rem;
    border-radius: 3.125rem;
    display: flex;
    flex-direction: column;
}
.foundation-card-header{
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 25px;
    margin-bottom: 40px;
}
.foundation-icon{
    width: 1.5625rem;
    flex: 0 0 auto;
}
.foundation-card-header h3{
    flex: 1 1 0;
    margin: 0;
}
.foundation-description{
    flex-grow: 1;
}

@media only screen and (max-width:1199px) {

    .foundation-card-grid-3{
        grid-template-columns: repeat(2, 1fr);
    }
    .foundation-card-grid-3 .foundation-card:last-of-type{
        grid-column: 1 / -1;     
        justify-self: center;    
        max-width: 70%;         
    }


}
@media only screen and (max-width:991px) {

    .foundation-card-grid-3 .foundation-card:last-of-type{
        grid-column: span 2;     
        justify-self: center;    
        max-width: 100%;         
    }

}
@media only screen and (max-width:767px) {

    .foundation-card-grid-3,
    .foundation-card-grid-2{
        grid-template-columns: 1fr;
    }
    .foundation-card-grid-3 .foundation-card:last-of-type{
        grid-column: span 1;     
        justify-self: center;    
        max-width: 100%;         
    }
    .foundation-card{
        border-radius: 1.5625rem; /* 25px */
        padding: 1.875rem; /* 30px */
    }
    .foundation-card-header{
        margin-bottom: 30px;
    }

}

/* Our Foundation Section Style Start */

/* Our Team Style Start */
.team-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.125rem; /* 50px */
    margin-top: 5.625rem; /* 90px */
}
.team-card{
    display: grid;
    grid-template-columns: 100%;
}
.team-member-photo,
.team-member-info-wrapper {
    grid-column: 1;
    grid-row: 1;
}
.team-member-info-wrapper{
    position: relative;
    z-index: 3;
    padding: 2.375rem 1.5625rem; /* 38px 25px */

    display: flex;
    align-items: flex-end;
}
.team-member-photo img{
   aspect-ratio: 31/46; 
   border-radius: 3.125rem; /* 50px */
}
.team-member-photo{
    position: relative;
}
.team-member-photo::before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0 0 3.125rem 3.125rem; /* 0 0 50px 50px */
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 50%, rgba(0, 0, 0, 0.80) 100%);
}
.team-member-info{
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.name-role{
    flex: 1 1 0;
}
.name-role h3{
    margin-bottom: 0.1875rem; /* 3px */
}
.team-linkedin {
    display: block;
    width: 1.75rem; /* 28px */
    height: 1.75rem; /* 28px */
    flex: 0 0 auto;
    position: relative;
    top: 0.4375rem; /* 7px */
}
@media only screen and (max-width:1199px) {

    .team-grid{
        gap: 1.5625rem; /* 25px */
        margin-top: 4.375rem; /* 70px */
    }
    .team-member-photo img{
        border-radius: 1.5625rem; /* 25px */
    }
    .team-member-photo::before{
        border-radius: 0 0 1.5625rem 1.5625rem; /* 0 0 25px 25px */
    }
    .name-role h3 {
        font-size: 1.625rem; /* 26px */
        line-height: 130%;
    }

}
@media only screen and (max-width:991px) {

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

}
@media only screen and (max-width:767px) {

    .team-grid {
        grid-template-columns: 1fr;
    }

}
/* Our Team Style End */


.portable_so_container_form {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: calc(100vh - 97px);
  display: flex;                 
  justify-content: center;
  align-items: center;
  background-color: rgba(0,0,0,0.5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.portable_so_container_form.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 100;
}

.portable_so_container_form .talk-to-us-grid {
  padding: 50px;
  max-width: 898px;
  margin: 0 auto;
  position: relative;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  will-change: opacity, transform; /* optional perf hint */
}

.portable_so_container_form.active .talk-to-us-grid {
  opacity: 1;
  transform: translateY(0);
}

.portable_so_container_form .talk-to-us-grid .section-header-content h2 {
    margin-bottom: 0;  
}

.portable_so_container_form .section-header.talk-to-us-header {
    margin-bottom: 30px;
}

.portable_so_container_form .talk-to-us-grid .field input {
    padding: 12px 20px;
    font-size: 18px;
}

.portable_so_container_form .talk-to-us-grid .field textarea {
    max-height: 120px;   
    padding: 12px 20px;
    font-size: 18px;
    height: auto;
    display: block;
}

.portable_so_container_form .wpcf7-form-control-wrap {
    display: block;
}

.portable_so_container_form .wpcf7-not-valid-tip {
    position: absolute;
}

.portable_so_container_form .acceptance-submit {
    margin: 0;
    column-gap: 50px;
}

.portable_so_container_form .closer {
    position: absolute;
    top: -15px;
    right: -15px;
    height: 50px;
    width: 50px;
    border-radius: 50%;
    background-color: #fff;
    color: #000;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url('images/close.png');
    background-position: center;
    background-size: 22px;
    background-repeat: no-repeat;
    cursor: pointer;
}

/* 
============================================ 
CMS Style End
============================================ 
*/


/* Popup form: scroll on short screens so the submit button is reachable (29 Oct 2026) */
.portable_so_container_form {
  height: calc(100vh - 97px);
  height: calc(100dvh - 97px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  align-items: flex-start;
  padding: 25px 0;
  box-sizing: border-box;
}
.portable_so_container_form .talk-to-us-grid {
  margin: auto;
}
@media (max-width: 767px) {
  .portable_so_container_form .talk-to-us-grid {
    padding: 30px 20px 40px;
  }
}
