/* Mobile Menu */
/* When closed */
.mobile-menu__trigger[aria-expanded="false"] .mobile-menu__trigger-lines {
    background-color: var(--py-black);
}

/* When open */
.mobile-menu__trigger[aria-expanded="true"] .mobile-menu__trigger-lines {
    background-color: var(--py-white);
}

.mobile-menu__trigger[aria-expanded="true"] {
    position: absolute;
    top: 25px;
    right: 25px;
}

nav.main-nav-mobile {
    margin-right: auto;
    width: 100%;
}

/* Header */
.new-label::before {
    content: "NEW! ";
    color: #e60073;
    font-weight: bold;
    margin-right: -15px;
    margin-left: 20px;
}

.header-top-bar {
    background-color: var(--py-brand-color-1);
    padding-block: 10px;
    padding-inline: var(--py-sec-pad-inline);
}

.header-top-bar__content {
    max-width: var(--py-container-width);
    margin: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.header-top-bar__label {
    color: var(--py-white);
    font-size: 1.6rem;
    font-weight: 600;
}

.header-top-bar__call {
    display: flex;
    flex-direction: row;
    gap: 7px;
    color: var(--py-white);
    align-items: center;
    padding: 5px 10px;
    text-decoration: none;
}

.header-top-bar__call:hover {
    text-decoration: none;
    background-color: var(--py-white);
    color: var(--py-brand-color-1);
    padding: 5px 10px;
    border-radius: 10px;
}

.header-top-bar__call:hover svg path {
    stroke: var(--py-brand-color-1);
}

.header-menu-bar {
    padding-block: 18px;
    padding-inline: var(--py-sec-pad-inline);
}

.search-wrapper {
    display: flex;
    flex-direction: row;
    gap: var(--py-content-gap);
    align-items: center;
    position: relative;
}

.login-button {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    font-size: 1.6rem;
    text-decoration: none;
    color: var(--py-body-color);
    cursor: pointer;
}

.login-button:hover {
    color: var(--py-bc-1);
}

.login-button:hover svg path {
    stroke: var(--py-bc-1);
}

.mobile-menu__panel .login-button,
.mobile-menu__panel .login-button:hover {
    color: var(--py-bc-1);
    color: var(--py-white);
}

.mobile-menu__panel .login-button svg path,
.mobile-menu__panel .login-button:hover svg path {
    stroke: var(--py-white);
}

.search-wrapper__panel {
    top: 200%!important;
    right: 0!important;
}

/* Mobile Menu */
nav.main-nav-mobile {
    margin-right: auto;
}

/* Buttons */
.btn {
    color: var(--py-button-text-color);
    background-color: var(--py-button-color);
    padding: var(--py-button-padding);
    border: none;
    border-radius: var(--py-button-border-radius);
    cursor: pointer;
    width: fit-content;
    text-decoration: none;
    display: flex;
    gap: var(--py-button-gap);
    font-size: var(--py-button-font-size);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: left;
}

.btn:hover {
    border: none;
    opacity: 0.9;
    transform: translateY(-2px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    color: var(--py-white);
}

.btn--second {
    background-color: var(--py-brand-color-2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn--third {
    background-color: var(--py-white);
    color: var(--py-brand-color-1);
    border: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn--third:hover {
    background-color: var(--py-white);
    color: var(--py-brand-color-1);
    border: none;
    opacity: 0.9;
    transform: translateY(-2px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn--third svg path {
    stroke: var(--py-brand-color-1);
}

.btn--fourth {
    background-color: var(--py-white);
    color: var(--py-brand-color-2);
    border: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn--fourth:hover {
    background-color: var(--py-white);
    color: var(--py-brand-color-2);
    border: none;
    opacity: 0.9;
    transform: translateY(-2px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn--fourth svg path {
    stroke: var(--py-brand-color-2);
}

.btn--fifth {
    background-color: var(--py-brand-color-9);
}

.btn--cta {
    background-color: var(--py-brand-color-9);
    padding: 8px 16px;
    border: 1px solid var(--py-brand-color-9);
    font-size: 1.6rem;
}

/* Button Icons */
.btn-icon,
.hero__button-icon {
    margin: auto;
    min-width: 24px;
}

/* Mobile */
@media (max-width:991px) {
    .header-top-bar__label,
    .btn--cta,
    .login-button {
        display: none;
    }

    .search-wrapper-mobile .btn--cta,
    .search-wrapper-mobile .login-button {
        display: flex;
    }

    .search-wrapper-mobile {
        position: absolute;
        bottom: 25px;
        flex-direction: column;
    }
}

/* Home page */
.hero {
    position: relative;
    padding-block: calc(var(--py-sec-pad-block) * 1.5);
}

.hero .py-container {
    display: flex;
    flex-direction: row;
    gap: var(--py-container-gap);
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.hero__bg-image {
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.4;
}

.hero__content {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    max-width: 710px;
    justify-content: center;
}

.hero__label {
    background-color: var(--py-brand-color-2);
    width: fit-content;
    padding: 5px 15px;
    color: var(--py-white);
    border-radius: 10px;
    order: -1;
}

.hero__heading--highlight {
    color: var(--py-brand-color-1);
}

.hero__image-wrapper {
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
}

.hero__image-shape {
    position: absolute;
}

.hero__image {
    width: 100%;
    max-width: 586px;
    min-width: 250px;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: var(--image-radius);
    box-shadow: var(--image-shadow);
    z-index: 1;
}

.hero__image-shape {
    width: 100%;
    max-width: 586px;
    aspect-ratio: 1/1;
    background-color: var(--py-brand-color-2);
    border-radius: var(--image-radius);
    box-shadow: var(--image-shadow);
    transform: rotate(15deg);
}

/* Mobile */
@media (max-width:991px) {
    .hero__image-wrapper {
        display: none;
    }
}

/* USP Section */
.usp-section {
    padding-block: calc(var(--py-sec-pad-block) * 0.5);
    box-shadow: var(--section-shadow);
}

.hero__features {
    display: flex;
    flex-direction: row;
    gap: var(--py-content-gap);
    max-width: var(--py-container-width);
    margin: auto;
    flex-wrap: wrap;
    justify-content: center;
}

.hero__feature-card {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    align-items: center;
    justify-content: space-between;
    max-width: 345px;
}

.hero__feature-card-text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    text-align: center;
}

/* Support Section */
.support {
    padding-block: var(--py-sec-pad-block);
    position: relative;
}

.support .py-container {
    display: flex;
    flex-direction: row;
    gap: var(--py-container-gap);
    align-items: center;
    max-width: var(--py-container-width-s);
}

.support__image-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
}

.support__image {
    width: 100%;
    max-width: 465px;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: var(--image-shadow);
}

.support__image--second {
    border-radius: 0px;
    box-shadow: none;
}

.support__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    max-width: 588px;
}

.support__content h2 {
    font-size: var(--py-h2);
    font-weight: 800;
    color: var(--py-brand-color-1);
    line-height: 1.2;
}

.support__text {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.support__text p {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
}

/* Services Section */
.services {
    position: relative;
    padding-block: var(--py-sec-pad-block);
    background-color: var(--py-brand-color-2);
    background-color: hsl(var(--py-bc-2-hs), var(--py-bc-2-l), 0.2);
}

.services--second {
    background-color: var(--py-brand-color-1);
    background-color: hsl(var(--py-bc-1-hs), var(--py-bc-1-l), 0.2);
}

.services .py-container {
    display: flex;
    flex-direction: column;
    gap: var(--py-section-gap);
    position: relative;
    z-index: 1;
    align-items: center;
}

.services__bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.46;
    z-index: 0;
}

.services--second .services__bg-image {
    opacity: 0.16;
}

.services__heading {
    font-size: var(--py-h2);
    font-weight: 700;
    color: var(--py-body-color);
    text-align: center;
    line-height: 1.2;
    max-width: 600px;
}

.services__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--py-grid-gap);
    max-width: 953px;
    margin: auto;
}

.services__card {
    background: var(--py-white);
    padding: var(--py-content-gap);
    border-radius: var(--image-radius);
    box-shadow: var(--section-shadow);
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    text-align: center;
    padding-block: var(--card-padding-block);
    padding-inline: var(--card-padding-inline);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    grid-column: span 2;
}

.services__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 clamp(0.8rem, 2vw, 1.6rem) clamp(2.4rem, 4vw, 3.2rem) rgba(0, 0, 0, 0.1);
}

.services__card h3 {
    font-size: var(--py-h3);
    font-weight: 800;
    color: var(--py-body-color);
    line-height: 1.2;
}

.services__card-description {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
    flex-grow: 1;
}

.services__card-button {
    background-color: var(--py-brand-color-2);
    color: var(--py-white);
    border: none;
    padding: var(--py-button-padding);
    border-radius: var(--py-button-border-radius);
    font-size: var(--py-button-font-size);
    font-weight: 400;
    cursor: pointer;
    transition: all 0.3s ease;
    align-self: center;
    width: fit-content;
    text-align: left;
}

.services--second .services__card-button {
    background-color: var(--py-brand-color-1);
}

.services__card-button:hover {
    background-color: var(--py-brand-color-2);
    opacity: 0.9;
    transform: translateY(-2px);
}

.services--second .services__card-button:hover {
    background-color: var(--py-brand-color-1);
}

/* Responsive Design */
@media (max-width: 991px) {
    .support .py-container {
        flex-direction: column;
        text-align: center;
    }

    .support__image {
        max-width: 300px;
    }

    .services__grid {
        grid-template-columns: 1fr;
        grid-column-gap: 0px;
    }

    .services__card {
        grid-column: 2 / span 2;
    }
}

@media (max-width: 480px) {
    .support__image {
        max-width: 250px;
    }
}

/* Summer Program Section */
.summer {
    position: relative;
    padding-block: var(--py-sec-pad-block);
    background-color: var(--py-white);
}

.summer .py-container {
    display: flex;
    flex-direction: row;
    gap: var(--py-container-gap);
    align-items: center;
    max-width: var(--py-container-width-s);
    align-items: stretch;
}

.summer__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    max-width: 588px;
}

.summer__icon {
    color: var(--py-brand-color-3);
    width: fit-content;
}

.summer__heading {
    font-size: var(--py-h2);
    font-weight: 700;
    color: var(--py-brand-color-1);
    line-height: 1.2;
    text-align: left;
}

.summer__description {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
    text-align: left;
}

.summer__programs {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
}

.summer__program {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    padding: var(--card-padding-inline);
    border-radius: 25px;
    box-shadow: var(--section-shadow);
    align-items: center;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.summer__program:hover {
    transform: translateX(4px);
    box-shadow: -4px 0 clamp(1.6rem, 3vw, 2.4rem) rgba(0, 0, 0, 0.1);
}

.summer__program-text {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    width: 100%;
    text-align: left;
}

.summer__program-icon {
    width: 24px;
}

.summer__program-heading {
    font-size: var(--py-h3);
    font-weight: 700;
    color: var(--py-brand-color-1);
    line-height: 1.2;
}

.summer__program-description {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
}

.summer__image-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.summer__image {
    width: 100%;
    height: 100%;
    max-width: 465px;
    object-fit: cover;
    border-radius: var(--image-radius);
    box-shadow: var(--image-shadow);
}

/* Tailored Support Section */
.tailored {
    padding-block: var(--py-sec-pad-block);
    background-color: var(--py-brand-color-1);
}

.tailored .py-container {
    display: flex;
    flex-direction: row;
    gap: var(--py-container-gap);
    align-items: stretch;
    max-width: var(--py-container-width-s);
}

.tailored__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    max-width: 588px;
}

.tailored__heading {
    font-size: var(--py-h2);
    font-weight: 700;
    color: var(--py-white);
    line-height: 1.2;
}

.tailored__description {
    font-size: var(--py-body);
    color: var(--py-white);
    line-height: 1.6;
}

.tailored__philosophy {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.tailored__philosophy-heading {
    font-size: var(--py-h3);
    font-weight: 700;
    color: var(--py-white);
    line-height: 1.2;
}

.tailored__philosophy-description {
    font-size: var(--py-body);
    color: var(--py-white);
    line-height: 1.6;
}

.tailored__image-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
}

.tailored__image {
    width: 100%;
    max-width: 465px;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: var(--image-shadow);
}

.tailored__image-wrapper--rectangle {
    flex: 1;
    display: flex;
}

.tailored__image-wrapper--rectangle .support__image {
    aspect-ratio: auto;
    border-radius: 25px;
}

/* Additional Responsive Design */
@media (max-width: 768px) {
    .summer .py-container,
    .tailored .py-container {
        flex-direction: column;
        text-align: center;
    }

    .summer__image,
    .tailored__image {
        max-width: 300px;
    }

    .summer__programs {
        gap: calc(var(--py-content-gap) * 0.75);
    }
}

@media (max-width: 480px) {
    .summer__image,
    .tailored__image {
        max-width: 250px;
    }

    .summer__icon svg {
        width: 40px;
        height: 40px;
    }
}

/* Shared Background */
.shared-bg-group {
    position: relative;
    padding: 0;
    min-height: 500px;
}

.shared-bg-group-img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    opacity: 0.3;
}

/* About Dr. Zia Section */
.about {
    position: relative;
    padding-block: var(--py-sec-pad-block);
    background-color: var(--py-white);
}

.about .py-container {
    display: flex;
    flex-direction: row;
    gap: var(--py-container-gap);
    align-items: center;
    max-width: var(--py-container-width);
    position: relative;
    z-index: 1;
}

.about__zia-image {
    max-width: 504px;
}

.about__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    width: 100%;
}

.about__heading {
    font-size: var(--py-h2);
    font-weight: 700;
    color: var(--py-brand-color-1);
    line-height: 1.2;
}

.about__text {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.about__text p {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
}

.about__button {
    background-color: var(--py-brand-color-2);
    color: var(--py-white);
    border: none;
    padding: var(--py-button-padding);
    border-radius: var(--py-button-border-radius);
    font-size: var(--py-button-font-size);
    font-weight: 400;
    cursor: pointer;
    transition: all 0.3s ease;
    align-self: flex-start;
    width: fit-content;
    display: flex;
    align-items: center;
    gap: var(--py-button-gap);
}

.about__button:hover {
    background-color: var(--py-brand-color-2);
    opacity: 0.9;
    transform: translateY(-2px);
}

.about__image-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
    position: relative;
}

.about__circles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 465px;
    height: auto;
    z-index: 1;
}

.about__profile {
    width: 100%;
    max-width: 300px;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: var(--image-shadow);
    z-index: 2;
    position: relative;
}

.about__signature {
    position: absolute;
    bottom: 10px;
    right: 10px;
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--py-body-color);
    font-style: italic;
    z-index: 3;
}

/* Location Section */
.location {
    position: relative;
    padding-block: var(--py-sec-pad-block);
    background-color: var(--py-white);
}

.location .py-container {
    display: flex;
    flex-direction: row;
    gap: var(--py-container-gap);
    align-items: center;
    max-width: var(--py-container-width-s);
    position: relative;
    z-index: 1;
}

.location__bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.1;
    z-index: 0;
}

.location__image-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
    position: relative;
}

.location__circles {
    width: 100%;
    max-width: 465px;
    height: auto;
}

.location__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    max-width: 588px;
}

.location__heading {
    font-size: var(--py-h2);
    font-weight: 700;
    color: var(--py-brand-color-1);
    line-height: 1.2;
}

.location__description {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
}

.location__highlight p {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
    margin: 0;
}

.location__button {
    background-color: var(--py-brand-color-1);
    color: var(--py-white);
    border: none;
    padding: var(--py-button-padding);
    border-radius: var(--py-button-border-radius);
    font-size: var(--py-button-font-size);
    font-weight: 400;
    cursor: pointer;
    transition: all 0.3s ease;
    align-self: flex-start;
    width: fit-content;
    display: flex;
    align-items: center;
    gap: var(--py-button-gap);
}

.location__button:hover {
    background-color: var(--py-brand-color-1);
    opacity: 0.9;
    transform: translateY(-2px);
}

/* Mobile */
@media (max-width:991px) {
    .support__content {
        align-items: center;
    }

    .hide-mob {
        display: none;
    }
}

/* Insights Section */
.insights {
    position: relative;
    padding-block: var(--py-sec-pad-block);
    background-color: var(--py-white);
}

.insights .py-container {
    display: flex;
    flex-direction: column;
    gap: var(--py-section-gap);
    position: relative;
    z-index: 1;
}

.insights__bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.1;
    z-index: 0;
}

.insights__heading {
    font-size: var(--py-h2);
    font-weight: 700;
    color: var(--py-brand-color-1);
    text-align: center;
    line-height: 1.2;
}

.insights__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--py-grid-gap);
    max-width: var(--py-container-width);
    margin: 0 auto;
}

.insights__card {
    background: var(--py-white);
    border-radius: var(--image-radius);
    box-shadow: var(--section-shadow);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.insights__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 clamp(0.8rem, 2vw, 1.6rem) clamp(2.4rem, 4vw, 3.2rem) rgba(0, 0, 0, 0.1);
}

.insights__card-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.insights__card-content {
    padding: var(--card-padding-inline);
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.insights__card-heading {
    font-size: var(--py-h4);
    font-weight: 700;
    color: var(--py-body-color);
    line-height: 1.3;
}

.insights__card-description {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
    flex-grow: 1;
}

.insights__cta {
    display: flex;
    justify-content: center;
    margin-top: var(--py-content-gap);
}

.insights__cta-button {
    background-color: var(--py-brand-color-1);
    color: var(--py-white);
    border: none;
    padding: var(--py-button-padding);
    border-radius: var(--py-button-border-radius);
    font-size: var(--py-button-font-size);
    font-weight: 400;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: var(--py-button-gap);
}

.insights__cta-button:hover {
    background-color: var(--py-brand-color-1);
    opacity: 0.9;
    transform: translateY(-2px);
}

/* Additional Responsive Design for New Sections */
@media (max-width:991px) {
    .insights__grid {
        grid-template-columns: 1fr;
        gap: var(--py-content-gap);
    }

    .insights__card-content {
        text-align: center;
        align-items: center;
    }
}

@media (max-width: 768px) {
    .about .py-container,
    .location .py-container {
        flex-direction: column;
        text-align: center;
    }

    .about__profile {
        max-width: 250px;
    }

    .about__signature {
        bottom: 5px;
        right: 5px;
        font-size: 2rem;
    }

    .insights__card-image {
        height: 200px;
    }
}

@media (max-width: 480px) {
    .about__profile {
        max-width: 200px;
    }

    .about__signature {
        font-size: 1.8rem;
    }

    .insights__card-content {
        padding: calc(var(--card-padding-block) * 0.8) calc(var(--card-padding-inline) * 0.8);
    }

    .insights__card-image {
        height: 180px;
    }
}

/* Real Support Section */
.real-support {
    padding-block: var(--py-sec-pad-block);
    background-color: var(--py-white);
}

.real-support .py-container {
    display: flex;
    flex-direction: column;
    gap: var(--py-section-gap);
    max-width: var(--py-container-width);
    align-items: center;
}

.real-support__heading {
    font-size: var(--py-h2);
    font-weight: 700;
    color: var(--py-brand-color-1);
    text-align: center;
    line-height: 1.2;
    max-width: 600px;
    margin: auto;
}

.real-support__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--py-grid-gap);
    max-width: 953px;
    margin: 0 auto;
}

.real-support__card {
    background: var(--py-white);
    padding: var(--card-padding-block);
    border-radius: 0px;
    box-shadow: var(--section-shadow);
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    text-align: center;
    align-items: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.real-support__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 clamp(0.8rem, 2vw, 1.6rem) clamp(2.4rem, 4vw, 3.2rem) rgba(0, 0, 0, 0.1);
}

.real-support__card--1 {
    background-color: var(--py-brand-color-4);
}

.real-support__card--2 {
    background-color: var(--py-brand-color-5);
}

.real-support__card--3 {
    background-color: var(--py-brand-color-6);
}

.real-support__card--4 {
    background-color: var(--py-brand-color-7);
}

.real-support__card-heading {
    font-size: var(--py-h3);
    font-weight: 600;
    color: var(--py-body-color);
    line-height: 1.2;
    max-width: 250px;
}

.real-support__card-description {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
    flex-grow: 1;
}

.real-support__content {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.real-support__text {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.real-support__text p {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
    margin: 0;
}

.real-support__accent {
    font-size: var(--py-body);
    color: var(--py-brand-color-1);
    font-weight: 600;
}

.real-support__button {
    background-color: var(--py-brand-color-1);
    color: var(--py-white);
    border: none;
    padding: var(--py-button-padding);
    border-radius: var(--py-button-border-radius);
    font-size: var(--py-button-font-size);
    font-weight: 400;
    cursor: pointer;
    transition: all 0.3s ease;
    align-self: center;
    width: fit-content;
    display: flex;
    align-items: center;
    gap: var(--py-button-gap);
}

.real-support__button:hover {
    background-color: var(--py-brand-color-1);
    opacity: 0.9;
    transform: translateY(-2px);
}

/* Responsive Design for Real Support */
@media (max-width: 1024px) {
    .real-support__grid {
        grid-template-columns: 1fr;
        gap: var(--py-content-gap);
    }
}

@media (max-width: 768px) {
    .real-support__card {
        padding: calc(var(--card-padding-block) * 0.8) calc(var(--card-padding-inline) * 0.8);
    }

    .real-support__card-number {
        width: 50px;
        height: 50px;
        font-size: 2rem;
    }
}

@media (max-width: 480px) {
    .real-support__card-number {
        width: 45px;
        height: 45px;
        font-size: 1.8rem;
    }

    .real-support__button {
        font-size: calc(var(--py-button-font-size) * 0.9);
        padding: calc(var(--py-button-padding) * 0.8);
    }
}

/* Subpage Hero 1 */
.subpage-hero-1 {
    position: relative;
    padding: var(--py-sec-pad-block) var(--py-sec-pad-inline);
    background-color: hsl(0, 0%, 97%);
    overflow: hidden;
    position: relative;
}

span.subtitle {
    font-size: clamp(2.5rem, calc(2.5rem + ((1vw - 0.32rem) * 0.9821428571428571)), 3.6rem);
    line-height: 1.2;
}

.subpage-hero-1 .py-container {
    position: relative;
    z-index: 2;
}

.subpage-hero-1__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--py-gap-fluid-1);
    align-items: center;
}

.subpage-hero-1__image-wrapper {
    width: 100%;
    height: 100%;
    min-height: 400px;
    border-radius: var(--image-radius);
    overflow: hidden;
}

.subpage-hero-1__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.subpage-hero-1__overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.2);
    z-index: 1;
}

.subpage-hero-1__content {
    display: flex;
    justify-content: flex-start;
}

.subpage-hero-1__card {
    background-color: var(--py-white);
    padding: calc(var(--card-padding-block) * 1.2) calc(var(--card-padding-inline) * 1.2);
    border-radius: var(--image-radius);
    box-shadow: var(--section-shadow);
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    align-items: start;
}

.subpage-hero-1__title {
    font-family: var(--py-font-family-heading);
    font-size: var(--py-h1-s);
    line-height: 1.2;
    color: var(--py-brand-color-1);
    margin-bottom: var(--py-content-gap);
}

.subpage-hero-1__description {
    font-family: var(--py-font-family-body);
    font-size: var(--py-body);
    line-height: 1.6;
    color: var(--py-body-color);
    margin-bottom: var(--py-content-gap);
}

.subpage-hero-1__cta {
    display: inline-flex;
    align-items: center;
    gap: var(--py-button-gap);
    padding: var(--py-button-padding);
    font-size: var(--py-button-font-size);
    font-family: var(--py-font-family-body);
    font-weight: 500;
    color: var(--py-white);
    background-color: var(--py-brand-color-1);
    border-radius: var(--py-button-border-radius);
    transition: background-color 0.3s ease;
}

.subpage-hero-1__cta:hover {
    background-color: hsl(var(--py-bc-1-hs), calc(var(--py-bc-1-l) - 5%));
}

.subpage-hero-1__cta svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
}

.subpage-hero-1__decoration {
    position: absolute;
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background-color: var(--py-brand-color-6);
    border-radius: 50%;
    opacity: 0.5;
    z-index: 0;
}

/* Responsive Styles */
@media (max-width: 1024px) {
    .subpage-hero-1__card {
        padding: var(--card-padding-block) var(--card-padding-inline);
    }
}

@media (max-width: 768px) {
    .subpage-hero-1__inner {
        grid-template-columns: 1fr;
        gap: var(--py-grid-gap);
    }

    .subpage-hero-1__image-wrapper {
        display: none;
    }

    .subpage-hero-1__content {
        justify-content: center;
    }

    .subpage-hero-1__card {
        max-width: 100%;
    }

    .subpage-hero-1__decoration {
        width: 200px;
        height: 200px;
        top: -50px;
        right: -50px;
    }
}

@media (max-width: 480px) {
    .subpage-hero-1__cta {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* Subpage Hero 2 */
.subpage-hero-2 {
    position: relative;
    padding: var(--py-sec-pad-block) var(--py-sec-pad-inline);
    background-color: hsl(0, 0%, 97%);
    overflow: hidden;
    position: relative;
}

.subpage-hero-2 .py-container {
    position: relative;
    z-index: 1;
}

.subpage-hero-2__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

/* CTA Banner Section */
.cta-banner {
    background: linear-gradient(to right, 
        var(--py-brand-color-1),
        var(--py-brand-color-2)
    );
    padding: var(--py-sec-pad-block) var(--py-sec-pad-inline);
    text-align: center;
    color: var(--py-white);
}

.cta-banner__title {
    font-size: var(--py-h2);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--py-content-gap);
    max-width: 800px;
    margin-inline: auto;
}

.cta-banner__description {
    font-size: var(--py-body-l);
    line-height: 1.6;
    margin-bottom: var(--py-section-gap);
    max-width: 600px;
    margin-inline: auto;
}

.cta-banner__button {
    display: inline-flex;
    align-items: center;
    gap: var(--py-button-gap);
    padding: var(--py-button-padding);
    font-size: var(--py-button-font-size);
    background-color: var(--py-white);
    color: var(--py-brand-color-1);
    border-radius: var(--py-button-border-radius);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cta-banner__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* FAQ Section */
.faq {
    position: relative;
    padding: var(--py-sec-pad-block) var(--py-sec-pad-inline);
    background-color: hsl(var(--py-bc-1-hs), var(--py-bc-1-l), 0.15);
    overflow: hidden;
}

.faq__content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: var(--py-gap-fluid-1);
    align-items: start;
}

.faq__intro {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    margin: auto;
}

.faq__title {
    font-size: var(--py-h2);
    font-weight: 700;
    color: var(--py-body-color);
    margin-bottom: var(--py-content-gap);
}

.faq__description {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
}

.faq__card {
    background: var(--py-white);
    border-radius: var(--image-radius);
    box-shadow: var(--section-shadow);
    padding: var(--card-padding-inline);
}

.faq__item {
    border-bottom: 1px solid #C0C0C0;
}

.faq__item:last-child {
    border-bottom: none;
}

.faq__question {
    position: relative;
    padding-block: calc(var(--card-padding-block) / 2);
    padding-right: calc(var(--card-padding-inline) * 2);
    font-size: var(--py-body-m);
    font-weight: 800;
    color: var(--py-body-color);
    cursor: pointer;
    list-style: none;
    transition: color 0.3s ease;
    text-align: left;
}

.faq__item[open] .faq__question {
    color: var(--py-brand-color-1);
}

.faq__question::after {
    content: '';
    position: absolute;
    right: var(--card-padding-inline);
    top: 50%;
    width: 12px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.3s ease;
}

.faq__item[open] .faq__question::after {
    transform: translateY(-30%) rotate(-135deg);
}

.faq__answer {
    padding: 0 var(--card-padding-inline) var(--card-padding-block);
    font-size: var(--py-body);
    line-height: 1.6;
    color: var(--py-body-color);
    text-align: left;
}

.faq__decoration {
    position: absolute;
    border-radius: 50%;
    z-index: 0;
}

.faq__decoration--1 {
    width: 800px;
    height: 800px;
    background-color: var(--py-brand-color-2);
    opacity: 0.1;
    top: -20%;
    left: -10%;
}

.faq__decoration--2 {
    width: 800px;
    height: 800px;
    background-color: var(--py-brand-color-1);
    opacity: 0.1;
    bottom: -40%;
    left: 10%;
}

/* Treatment Options Section */
.treatment {
    padding-block: var(--py-sec-pad-block);
    background-color: var(--py-white);
}

.treatment__title {
    font-size: var(--py-h2);
    font-weight: 700;
    color: var(--py-body-color);
    text-align: center;
    margin-bottom: var(--py-section-gap);
}

.treatment__options {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--py-grid-gap);
    max-width: var(--py-container-width-s);
    margin: 0 auto;
}

.treatment__card {
    background: var(--py-white);
    border-radius: var(--image-radius);
    box-shadow: var(--section-shadow);
    overflow: hidden;
    grid-column: span 2;
}

.treatment__card-header {
    background-color: var(--py-brand-color-2);
    padding: var(--card-padding-inline);
    text-align: center;
    color: var(--py-white);
    display: flex;
    flex-direction: column;
}

.treatment__option-label {
    display: block;
    font-size: var(--py-h1-s);
    font-weight: 800;
    order: -1;
}

.treatment__option-title {
    font-size: var(--py-h3);
    font-weight: 600;
    line-height: 1.2;
}

.treatment__card-content {
    padding: var(--card-padding-block) var(--card-padding-inline);
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
}

.treatment__description {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
}

.treatment__list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.treatment__list li {
    position: relative;
    padding-left: 1.5em;
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
}

.treatment__list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--py-brand-color-2);
}

.treatment__note {
    font-size: var(--py-body);
    color: var(--py-body-color);
    line-height: 1.6;
    margin-top: auto;
}

.treatment__button {
    display: inline-flex;
    align-items: center;
    gap: var(--py-button-gap);
    padding: var(--py-button-padding);
    font-size: var(--py-button-font-size);
    color: var(--py-white);
    background-color: var(--py-brand-color-2);
    border-radius: var(--py-button-border-radius);
    transition: transform 0.3s ease, background-color 0.3s ease;
    width: fit-content;
    margin-top: var(--py-content-gap);
}

.treatment__button:hover {
    background-color: hsl(var(--py-bc-2-hs), calc(var(--py-bc-2-l) - 5%));
    transform: translateY(-2px);
}

.treatment__button svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
}

/* Responsive Styles */
@media (max-width: 991px) {
    .treatment__card {
        grid-column: 2 / span 2;
    }
}

/* Responsive Styles */
@media (max-width: 1024px) {
    .faq__content {
        grid-template-columns: 1fr;
        gap: var(--py-section-gap);
    }

    .faq__intro {
        position: static;
        max-width: 600px;
    }
}

@media (max-width: 768px) {
    .faq__question {
        padding-right: calc(var(--card-padding-inline) * 2);
    }

    .faq__decoration--1 {
        width: 300px;
        height: 300px;
        top: -100px;
        left: -100px;
    }

    .faq__decoration--2 {
        width: 200px;
        height: 200px;
        bottom: -50px;
        right: -50px;
    }
}

/* FAQ Tabs */
/* Tabs Section */
.tabs-section {
    position: relative;
    padding-block: var(--py-sec-pad-block);
    overflow: hidden;
}

.tabs-section .py-container {
    position: relative;
    z-index: 1;
}

.tabs-section__bg {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
}

/* Tabs */
.tabs-section .tabs__tab {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

.tabs-section .tabs__tabs-wrap {
    padding: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: var(--py-content-gap);
    justify-content: center;
}

.tabs-section .tabs__tab-btn {
    background-color: var(--py-white);
    border: none;
    box-shadow: var(--image-shadow);
    border-radius: var(--image-radius);
    padding: 40px 25px;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.tabs-section .tabs__tab-btn span {
    font-weight: 700;
    color: var(--py-bc-1);
}

.tabs-section .tab-btn-img {
    max-width: 260px;
    width: 100%;
}

.tabs-section .tabs {
    display: flex;
    flex-direction: column;
    gap: var(--py-container-gap);
}

.tabs-section .tabs__content-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--py-content-gap);
    max-width: 800px;
    margin: auto;
}

/* Mobile */
@media (max-width:991px) {
    .tabs-section .tab-btn-img {
        display: none;
    }

    .tabs-section .tabs__tabs-wrap {
        flex-direction: column;
    }

    .tabs-section .tabs__tab-btn {
        width: 100%;
        padding: 15px;
    }

    .tabs__tab-btn[aria-selected="true"] {
        background-color: var(--py-bc-1);
    }

    .tabs__tab-btn[aria-selected="true"] span {
        color: var(--py-white);
    }
}

/* Team Member Single Page */
/* therapist-profile.css */
.profile-grid {
    display: flex;
    flex-direction: row;
    gap: calc(var(--py-container-gap) * 2);
    width: 100%;
    max-width: 1188px;
    margin: auto;
}

.profile-card {
    background: var(--py-white);
    box-shadow: var(--image-shadow);
    border-radius: var(--image-radius);
    padding: clamp(20px, calc(20px + ((1vw - 3.2px) * 2.6786)), 50px);
    width: 100%;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    height: fit-content;
}

.profile-card h2 {
    font-size: var(--py-body);
    color: var(--py-black);
}

.profile-focus {
    display: flex;
    flex-direction: row;
    gap: 5px;
}

.profile-image {
    width: 100%;
    max-width: 300px;
    height: auto;
    border-radius: 50%;
    margin: auto;
    margin-bottom: 35px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.profile-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
}

.profile-content h1 {
    color: var(--py-brand-color-2);
    font-size: var(--py-h2);
}

.profile-content .credentials {
    color: grey;
}

.profile-content .title {
    font-weight: 700;
}

.profile-expertise,
.profile-therapy {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.profile-expertise p,
.profile-therapy p {
    padding-left: 10px;
}

/* Mobile */
@media (max-width:1099px) {
    .profile-grid {
        flex-direction: column;
    }

    .profile-card {
        max-width: 100%;
    }

    .profile-image {
        margin-left: 0;
    }

    .profile-focus {
        flex-direction: column;
    }
}

/* Team FAQ Section */
.team-faq {
    position: relative;
    padding: var(--py-sec-pad-block) var(--py-sec-pad-inline);
    background-color: hsl(var(--py-bc-1-hs), var(--py-bc-1-l), 0.15);
    overflow: hidden;
}

.team-faq .py-container {
    position: relative;
    z-index: 1;
}

.team-faq .team-faq-content {
    display: flex;
    flex-direction: column;
    gap: var(--py-container-gap);
    max-width: 800px;
    margin: auto;
}

.team-hide-box {
    width: auto;
    box-shadow: none;
    padding: 0;
}

/* Team Overview page */
.team-member-section .py-container {
    max-width: 1072px;
    margin: auto;
    align-items: center;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--py-container-gap);
}

.team-member-section .py-container h2 {
    color: var(--py-bc-2);
}

.team-member-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--py-grid-gap);
}

.team-member-card {
    padding-block: 25px;
    padding-inline: clamp(25px, calc(25px + ((1vw - 3.2px) * 2.232142857142857)), 50px);
    background-color: var(--py-white);
    border-radius: var(--image-radius);
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    align-items: center;
    text-align: center;
}

.team-member-card-profile-img {
    aspect-ratio: 1/1;
    max-width: 150px;
    border-radius: 50%;
    object-fit: cover;
}

.team-member-card-credentials {
    color: var(--py-bc-1);
}

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

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

.team-member-section__admin .py-container h2 {
    color: var(--py-bc-1);
}

/* Mobile */
@media (max-width:991px) {
    .team-member-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--py-grid-gap);
    }
}

@media (max-width:599px) {
    .team-member-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: var(--py-grid-gap);
    }
}

/* Content Canon */
.content-canon-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--py-grid-gap);
}

.content-canon-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.content-canon-card-top {
    padding-block: 15px;
    padding-inline: 25px;
    background-color: var(--py-bc-1);
    color: var(--py-white);
    text-align: center;
    border-top-left-radius: var(--image-radius);
    border-top-right-radius: var(--image-radius);
}

.content-canon-card-bottom {
    padding-block: 15px;
    padding-inline: 25px;
    border-bottom-left-radius: var(--image-radius);
    border-bottom-right-radius: var(--image-radius);
    background-color: var(--py-white);
    height: 100%;
}

/* Mobile */
@media (max-width:1400px) {
    .content-canon-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width:750px) {
    .content-canon-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Content Canon Single */
.cc-single-grid {
    display: grid;
    grid-template-columns: minmax(200px, 1fr) 3fr;
    gap: var(--py-grid-gap);
    max-width: var(--py-container-width);
    margin: auto;
}

.cc-single-grid-content-box {
    display: flex;
    flex-direction: column;
    border-radius: var(--image-radius);
    padding: var(--py-sec-pad-inline);
    box-shadow: var(--image-shadow);
    gap: var(--py-content-gap);
}

.cc-single-grid-index {
    order: -1;
}

.breadcrumb ul {
    display: flex;
    flex-direction: row;
    gap: 10px;
    list-style-type: none;
    padding: 0;
    margin-top: 0px;
}

.breadcrumb ul li:not(:last-child)::after {
    content: " > ";
    margin: 0 0.25em;
}

.cc-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
}

.cc-single-title {
    margin-bottom: 25px;
    color: var(--py-bc-1);
}

/* Mobile */
@media (max-width:991px) {
    .cc-single-grid {
        grid-template-columns: minmax(200px, 1fr);
    }

    .cc-single-grid-content {
        order: -1;
    }
}

/* WHite Box */
.white-box {
    background-color: var(--py-white);
    border-radius: var(--image-radius);
    padding: var(--py-sec-pad-inline);
    width: 100%;
}

/* Blog Single */
.blog-single-container {
    margin: auto;
    align-items: center;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    max-width: 800px;
}

.blog-single-label {
    background-color: var(--py-brand-color-1);
    width: fit-content;
    padding: 16px 32px;
    color: var(--py-white);
    border-radius: 50px;
    order: -1;
}

.blog-single-content {
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
}

.blog-single-content h2,
.blog-single-content h3 {
    color: var(--py-bc-1);
}

.blog-single-content img {
    border-radius: 28px;
}

.blog-single-fi {
    border-top-left-radius: 28px;
    border-top-right-radius: 28px ;
}

.blog-single-content .faq-section,
.blog-single-content .faq-item {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
}

.related-blogs-title {
    text-align: center;
    color: var(--py-bc-1);
}

/* Blog Overview */
.blog-hero .subpage-hero-2__image {
    opacity: 0.23;
}

.blog-hero .py-container {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    align-items: center;
    max-width: 800px;
    text-align: center;
}

.blog-hero .py-container h1 {
    color: var(--py-bc-1);
}

/* WP Grid Builder */
.wpgb-facet .wpgb-search-facet .wpgb-input {
    border-radius: 50px;
    background-color: var(--py-white);
}

.wpgb-facet .wpgb-input-icon {
    stroke: var(--py-bc-1)!important;
}

.wpgb-facet .wpgb-hierarchical-list {
    display: flex!important;
    flex-direction: row!important;
    align-items: center;
    justify-content: center;
    gap: var(--py-content-gap);
    flex-wrap: wrap;
}

span.wpgb-radio-control {
    display: none !important;
}

.wpgb-facet .wpgb-hierarchical-list li {
    margin: 0!important;
}

.wpgb-radio[aria-pressed="false"] {
    padding: 16px 32px!important;
    margin: 0!important;
    border: 1px solid var(--py-bc-1);
    border-radius: 50px;
}

.wpgb-radio[aria-pressed="false"] .wpgb-radio-label {
    font-weight: 800!important;
    color: var(--py-bc-1)!important;
}

.wpgb-radio[aria-pressed="true"] {
    padding: 16px 32px!important;
    margin: 0!important;
    border: 1px solid var(--py-bc-1);
    border-radius: 50px;
    background-color: var(--py-bc-1);
    color: var(--py-white);
}

/* Mobile */
@media (max-width:991px) {
    .wpgb-radio[aria-pressed="true"],
    .wpgb-radio[aria-pressed="false"] {
        padding: 8px 16px!important;
    }

    .wpgb-facet .wpgb-hierarchical-list {
        gap: calc(var(--py-content-gap) / 2);
    }

    .wpgb-facet.wpgb-facet-1 {
        display: none;
    }
}

/* Utility Classes */
.background-color-1 {
    background-color: var(--py-brand-color-8);
}

.background-color-1-10 {
    background-color: var(--py-bc-1-10);
}

.background-color-2 {
    background-color: var(--py-brand-color-1);
}

.background-color-2-10 {
    background-color: var(--py-bc-2-10);
}

.background-color-3 {
    background-color: var(--py-brand-color-2);
}

.background-color-4 {
    background-color: var(--py-brand-color-3);
}

.background-color-5 {
    background-color: hsl(var(--py-bc-2-hs), var(--py-bc-2-l), 0.2);
}

.border-top-1 {
    border-top: 10px solid var(--py-brand-color-8);
}

.border-top-2 {
    border-top: 10px solid var(--py-brand-color-1);
}

.border-top-3 {
    border-top: 10px solid var(--py-brand-color-2);
}

.border-top-4 {
    border-top: 10px solid var(--py-brand-color-3);
}

.border-bottom-1 {
    border-bottom: 10px solid var(--py-brand-color-8);
}

.border-bottom-2 {
    border-bottom: 10px solid var(--py-brand-color-1);
}

.border-bottom-3 {
    border-bottom: 10px solid var(--py-brand-color-2);
}

.border-bottom-4 {
    border-bottom: 10px solid var(--py-brand-color-3);
}

.object-position {
    object-position: var(--object-position-x, 50%) var(--object-position-y, 50%);
}

.full-width {
    width: 100%;
}

.hide-item {
    display: none;
}

/* Mobile */
@media (max-width:991px) {
    .mob-txt-left {
        align-items: start;
        text-align: left;
    }

    .mob-img-top {
        order: -1;
    }
}

/* Footer */
.py-footer {
    background-color: #6B7DD1;
    color: #ffffff;
    padding: 0;
    font-family: 'Inter', sans-serif;
}

.py-footer .footer-top {
    padding-top: var(--py-sec-pad-block);
    padding-inline: var(--py-sec-pad-inline);
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    padding-bottom: 64px;
}

.footer-column {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.footer-brand {
    grid-column: 1;
}

.footer-logo {
    max-width: 220px;
    width: 100%;
}

.social-links {
    display: flex;
    gap: 16px;
    margin-top: 16px;
}

.social-links a {
    color: #ffffff;
    font-size: 20px;
    transition: opacity 0.3s ease;
}

.social-links a:hover {
    opacity: 0.8;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-item {
    color: #ffffff;
    text-decoration: none;
    font-style: normal;
    font-size: 14px;
    line-height: 1.5;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.contact-item:hover {
    opacity: 0.8;
    color: #ffffff;
}

.footer-column h3 {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    margin-top: 0;
}

.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-menu-secondary {
    margin-top: 32px;
}

.menu-item-title {
    margin-bottom: 8px;
}

.menu-item-title a {
    color: #ffffff;
    font-size: 18px !important;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.menu-item-title a:hover {
    opacity: 0.8;
}

.footer-menu li a {
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    transition: opacity 0.3s ease;
}

.footer-menu li a:hover {
    opacity: 0.8;
}

.footer-bottom {
    background-color: rgba(0, 0, 0, 0.1);
    padding: 24px 0;
    padding-inline: var(--py-sec-pad-inline);
}

.footer-bottom-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}

.footer-bottom-content a {
    color: var(--py-white);
}

.footer-bottom-links {
    display: flex;
    gap: 24px;
}

.footer-bottom-links a {
    color: #ffffff;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-bottom-links a:hover {
    opacity: 0.8;
}

/* Responsive Styles */
@media (max-width: 1200px) {
    .footer-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 992px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom-links {
        flex-direction: column;
        gap: 5px;
    }

    .footer-bottom-content {
        flex-direction: column-reverse;
        gap: 16px;
        text-align: center;
    }
}

/* Videos */
.youtube__img {
    border-radius: 28px;
    box-shadow: var(--image-shadow);
}

/* Quote Box */
.quote-box {
    max-width: 800px;
    padding-left: clamp(25px, calc(25px + ((1vw - 3.2px) * 2.232142857142857)), 50px);
    border-left: 5px solid var(--py-bc-1);
    margin: auto;
}

/* Maps */
.map-img {
    width: 100%;
}

/* Client Login Page */
.wp-block-embed__wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.search-wrapper__btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    background-color: transparent;
    color: var(--py-black);
    font-weight: 500;
    padding: 0;
    border-radius: var(--button-border-radius);
}

.search-wrapper__panel {
    position: absolute;
    top: 100%;
    min-width: max-content;
    background-color: var(--white);
}

.search-wrapper__search-button {
    border: none;
    background-color: transparent;
    display: flex;
    align-items: center;
}

@media (max-width:449px) {
    .search-wrapper__panel {
        right: -50px !important;
    }
}