/* =========================================================
   INTELLIVEST - HOMEPAGE STYLES
   Refactored to use the global design system from main.css.

   RULE:
   - Global typography, font families, heading weights, colors,
     spacing tokens and shared button behavior come from main.css.
   - This file keeps homepage-only layout, Figma-specific geometry,
     responsive structure and component exceptions.
========================================================= */


/* ---------------------------------------------------------
   HOMEPAGE SHARED TYPOGRAPHY
   These selectors map existing homepage markup to the global
   typography system without requiring front-page.php changes.
--------------------------------------------------------- */

.home-approach__title,
.home-services__title,
.home-why__title,
.home-portal__title,
.home-testimonials__title {
    font-size: var(--fs-h2);
    font-weight: var(--fw-extrabold);
    line-height: var(--lh-heading);
    color: var(--heading-color);
}

.home-hero__eyebrow,
.home-approach__eyebrow,
.home-services__eyebrow strong,
.home-why__eyebrow span,
.home-portal__eyebrow span,
.home-testimonials__eyebrow strong {
    font-size: var(--fs-xs);
    font-weight: var(--fw-extrabold);
    text-transform: uppercase;
    color: var(--copper);
}

.home-approach__title span,
.home-services__title span,
.home-why__title span,
.home-portal__title span,
.home-testimonials__title span {
    color: var(--copper);
}


/* ---------------------------------------------------------
   HOMEPAGE SHARED SPACING
--------------------------------------------------------- */

.home-approach__eyebrow,
.home-services__eyebrow {
    margin-bottom: var(--space-sm);
}

/* ==================================================
   HERO
================================================== */

.home-hero {
    position: relative;
    overflow: hidden;
    background: var(--white);
}

.home-hero__inner {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1.08fr);

    align-items: center;
    gap: 55px;

    min-height: 400px;
    padding: 38px 0 42px;
}


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

.home-hero__content {
    position: relative;
    z-index: 2;
    max-width: 590px;
}


/* Eyebrow */

.home-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--space-1);

    margin-bottom: var(--space-md);
    line-height: var(--lh-eyebrow);
}

.home-hero__eyebrow-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}


/* ==================================================
   HERO TITLE
================================================== */

.home-hero__title {
    max-width: 590px;

    margin: 0 0 18px;

    font-size: var(--fs-hero-title);
    font-weight: var(--fw-extrabold);
    line-height: var(--lh-hero-title);
    letter-spacing: -1.1px;

    color: var(--navy);
}

.home-hero__title span {
    color: var(--copper);
}


/* ==================================================
   DESCRIPTION
================================================== */

.home-hero__description {
    max-width: 570px;
    margin: 0 0 25px;
    line-height: var(--lh-copy-compact);
    color: var(--body-color);
}


/* ==================================================
   HERO BUTTONS
================================================== */

.home-hero__buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-1);
}

.home-hero__primary-btn {
    min-width: 234px;
    min-height: 40px;

    padding: 9px 20px;
    font-size: var(--fs-button-compact);
    font-weight: var(--fw-medium);
}

.home-hero__primary-btn svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.home-hero__secondary-btn {
    min-width: 121px;
    min-height: 40px;

    padding: 9px 18px;
    font-size: var(--fs-button-compact);
    font-weight: var(--fw-medium);

    border-color: #8295A5;
}


/* ==================================================
   HERO VISUAL
================================================== */

.home-hero__visual {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    width: 100%;
}

.home-hero__image {
    display: block;

    width: 100%;
    max-width: 607px;
    height: auto;

    object-fit: contain;
}


/* ==================================================
   STATS BAR
================================================== */

.home-stats {
    position: relative;

    background: var(--gradient-primary-hover);

    color: var(--white);
}

.home-stats__grid {
    display: grid;
    grid-template-columns:
        1fr
        1fr
        1.35fr
        1fr;

    align-items: center;

    min-height: 103px;
}

.home-stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: var(--space-md);

    text-align: center;
}

.home-stats__item strong {
    display: block;

    margin-bottom: 2px;
    font-size: var(--fs-stat);
    font-weight: var(--fw-extrabold);
    line-height: var(--lh-stat);

    color: var(--white);
}

.home-stats__item span {
    display: block;
    font-size: var(--fs-stat-label);
    font-weight: var(--fw-regular);
    line-height: var(--lh-label);

    color: var(--white);
}


/* ==================================================
   RTL
================================================== */

[dir="rtl"] .home-hero__eyebrow {
    direction: rtl;
}

[dir="rtl"] .home-hero__primary-btn svg {
    transform: scaleX(-1);
}


/* ==================================================
   LAPTOP
================================================== */

@media (max-width: 1199px) {

    .home-hero__inner {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, .95fr);

        gap: 35px;

        padding: 45px 0;
    }


    .home-hero__image {
        max-width: 540px;
    }


}


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

@media (max-width: 991px) {

    .home-hero__inner {
        grid-template-columns: 1fr;

        gap: 35px;

        padding: 55px 0 50px;
    }

    .home-hero__content {
        max-width: 680px;
    }

    .home-hero__title {
        max-width: 650px;
    }

    .home-hero__description {
        max-width: 620px;
    }

    .home-hero__visual {
        justify-content: center;
    }

    .home-hero__image {
        max-width: 607px;
    }


    /* Stats */

    .home-stats__grid {
        grid-template-columns: repeat(2, 1fr);
        min-height: 0;
    }

    .home-stats__item {
        min-height: 115px;
    }

}


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

@media (max-width: 767px) {

    .home-hero__inner {
        gap: var(--space-6);

        padding: 45px 0 40px;
    }

    .home-hero__eyebrow {
        margin-bottom: var(--space-3);
        font-size: var(--fs-2xs);
    }

    .home-hero__title {
        margin-bottom: 18px;

        font-size: var(--fs-stat);
        line-height: var(--lh-hero-title);
        letter-spacing: -.7px;
    }

    .home-hero__description {
        margin-bottom: 23px;

        font-size: var(--fs-copy-compact);
        line-height: var(--lh-copy-compact);
    }

    .home-hero__buttons {
        align-items: stretch;
    }

    .home-hero__primary-btn,
    .home-hero__secondary-btn {
        min-height: 46px;
    }

    .home-hero__visual {
        width: 100%;
		display: none;
    }

    .home-hero__image {
        width: 100%;
        max-width: 560px;
    }


    /* Stats */

    .home-stats__item {
        min-height: 105px;
        padding: 18px 10px;
    }


}


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

@media (max-width: 575px) {

    .home-hero__inner {
        padding: 38px 0 35px;
    }


    .home-hero__buttons {
        flex-direction: column;
    }

    .home-hero__primary-btn,
    .home-hero__secondary-btn {
        width: 100%;
    }


    /* Stats */

    .home-stats__grid {
        grid-template-columns: 1fr 1fr;
    }

    .home-stats__item {
        min-height: 100px;
        padding: 17px 8px;
    }


}


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

@media (max-width: 390px) {

    .home-stats__grid {
        grid-template-columns: 1fr;
    }

    .home-stats__item {
        min-height: 90px;
    }

}

/* ==================================================
   INTEGRATED APPROACH SECTION
================================================== */

.home-approach {
    position: relative;
    overflow: hidden;

    padding-block: var(--section-padding);

    background: var(--white);
}

.home-approach__inner {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    align-items: center;
    gap: var(--space-4xl);
}


/* ==================================================
   LEFT VISUAL
================================================== */

.home-approach__visual {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 0;
}

.home-approach__portrait-wrap {
    position: relative;

    width: 100%;
    max-width: 470px;

    aspect-ratio: 1 / 1;
}


/*
 * Decorative copper circle.
 * Kept in CSS instead of image so it stays sharp
 * on every screen size.
 */
.home-approach__portrait-wrap::before {
    content: "";

    position: absolute;
    z-index: 1;

    /*
     * Figma copper ring:
     * slightly shifted left + upward
     */
    width: 100%;
    height: 100%;

    top: -7px;
    left: -11px;

    border: 4px solid var(--copper);
    border-radius: 50%;

    box-sizing: border-box;
    pointer-events: none;
}


/* White separation between portrait and copper line */

/* .home-approach__portrait-wrap::after {
    content: "";

    position: absolute;
    z-index: 2;

    inset: 4px;

    border: 7px solid var(--white);
    border-radius: 50%;

    pointer-events: none;
} */


/* Portrait crop */

.home-approach__portrait {
    position: absolute;
    z-index: 2;

    inset: 9px;

    overflow: hidden;

    border-radius: 50%;
    background: var(--off-white);
}

.home-approach__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    border-radius: 50%;
}


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

.home-approach__content {
    width: 100%;
    max-width: 530px;
}


/* Eyebrow */

.home-approach__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--space-1);

    margin-bottom: 17px;
    line-height: var(--lh-label);
}

.home-approach__eyebrow svg {
    width: 17px;
    height: 17px;

    flex: 0 0 17px;
}


/* ==================================================
   TITLE
================================================== */

.home-approach__title {
    margin: 0 0 15px;
    letter-spacing: -.7px;
}

.home-approach__title span {
    color: var(--copper);
}


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

.home-approach__text {
    max-width: 520px;
}

.home-approach__text p {
    margin: 0 0 8px;
    line-height: var(--lh-copy-compact);
    color: var(--body-color);
}


/* ==================================================
   BENEFIT LIST
================================================== */

.home-approach__list {
    display: flex;
    flex-direction: column;
    gap: 4px;

    margin: 13px 0 19px;
    padding: 0;

    list-style: none;
}

.home-approach__list li {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    margin: 0;
    line-height: var(--lh-list);

    color: var(--body-color);
}

.home-approach__list-arrow {
    flex: 0 0 auto;

    color: var(--copper);

    font-size: var(--fs-stat-label);
    line-height: var(--lh-tight);
}


/* ==================================================
   LEARN MORE BUTTON
================================================== */

.home-approach__button {
    min-width: 133px;
    min-height: 40px;

    padding: 8px 18px;

    gap: var(--space-2);

    font-size: var(--fs-button-compact);
}

.home-approach__button svg {
    width: 15px;
    height: 15px;

    flex: 0 0 15px;
}


/* ==================================================
   RTL
================================================== */

[dir="rtl"] .home-approach__eyebrow,
[dir="rtl"] .home-approach__list {
    direction: rtl;
}

[dir="rtl"] .home-approach__button svg,
[dir="rtl"] .home-approach__list-arrow {
    transform: scaleX(-1);
}


/* ==================================================
   LAPTOP
================================================== */

@media (max-width: 1199px) {

    .home-approach__inner {
        gap: 60px;
    }

    .home-approach__portrait-wrap {
        max-width: 430px;
    }

}


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

@media (max-width: 991px) {

    .home-approach__inner {
        grid-template-columns: 1fr;

        gap: var(--space-2xl);
    }

    .home-approach__portrait-wrap {
        max-width: 470px;
    }

    .home-approach__content {
        max-width: 650px;

        margin-inline: auto;
    }

    .home-approach__text {
        max-width: 620px;
    }

}


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

@media (max-width: 767px) {

    .home-approach__inner {
        gap: var(--space-xl);
    }

    .home-approach__portrait-wrap {
        max-width: 400px;
    }

    .home-approach__portrait-wrap::before {
        border-width: 3px;
    }

    .home-approach__eyebrow {
        margin-bottom: 14px;

        font-size: var(--fs-micro);
    }

    .home-approach__title {
        margin-bottom: var(--space-3);
        line-height: var(--lh-heading);
    }

    .home-approach__text p,
    .home-approach__list li {
        font-size: var(--fs-small);
    }

}


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

@media (max-width: 575px) {

    .home-approach__portrait-wrap {
        width: calc(100% - 20px);
        max-width: 360px;
    }

    .home-approach__title br {
        display: none;
    }

}


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

@media (max-width: 390px) {

    .home-approach__portrait-wrap {
        max-width: 320px;
    }

}

/* ==================================================
   HOME SERVICES
================================================== */

.home-services {
    position: relative;
    z-index: 1;

    overflow: hidden;

    padding-block: var(--section-padding);

    background: var(--bg-light);
}


/* Decorative background circle */

.home-services__decor {
    position: absolute;
    z-index: -1;

    width: 650px;
    height: 650px;

    left: -220px;
    bottom: -190px;

    border-radius: 50%;

    background: #dce4ea;
}

.home-services__decor::before {
    content: "";

    position: absolute;

    width: 675px;
    height: 675px;

    top: -15px;
    left: -15px;

    border: 3px solid rgba(189, 113, 62, .18);
    border-radius: 50%;
}


/* ==================================================
   SECTION HEADER
================================================== */

.home-services__header {
    max-width: 650px;

    margin: 0 auto 38px;

    text-align: center;
}

.home-services__eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin-bottom: 17px;

    color: var(--copper);

    text-transform: uppercase;
}

.home-services__eyebrow span {
    display: block;

    width: 42px;
    height: 1px;

    background: var(--navy);
}

.home-services__eyebrow strong {
    line-height: var(--lh-tight);
}

.home-services__title {
    margin: 0 0 14px;
    letter-spacing: -.6px;
}

.home-services__title span {
    color: var(--copper);
}

.home-services__intro {
    max-width: 570px;

    margin: 0 auto;
}


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

.home-services__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 14px;

    position: relative;
    z-index: 2;
}


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

.home-service-card {
    display: flex;
    flex-direction: column;

    min-height: 240px;

    padding: 22px 18px 17px;

    border: 1px solid var(--navy);
    border-radius: 5px;

    background: rgba(255, 255, 255, .54);

    box-shadow: 0 3px 3px rgba(7, 33, 56, .20);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.home-service-card:hover {
    transform: translateY(-3px);

    background: rgba(255, 255, 255, .82);

    box-shadow: 0 7px 16px rgba(7, 33, 56, .14);
}


/* Icon */

.home-service-card__icon {
    display: block;

    width: 52px;
    height: 52px;

    margin-bottom: 9px;

    object-fit: contain;
    object-position: left center;
}


/* Heading */

.home-service-card h3 {
    margin: 0 0 8px;
    font-size: var(--fs-card-title-sm);
    line-height: var(--lh-card-title);
}


/* Description */

.home-service-card p {
    margin: 0 0 16px;
}


/* Learn More */

.home-service-card__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 17px;

    width: 140px;
    min-height: 34px;

    margin-top: auto;
    padding: 7px 13px;

    border: 1px solid #8ca0b0;
    border-radius: var(--radius-sm);
    font-size: var(--fs-button);
    font-weight: var(--fw-medium);
    line-height: var(--lh-button);

    color: var(--navy);

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.home-service-card__link:hover {
    border-color: var(--navy);

    background: var(--gradient-primary);
    color: var(--white);
}


/* ==================================================
   BOTTOM CTA
================================================== */

.home-services__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);

    margin-top: var(--space-8);
}

.home-services__consultation,
.home-services__phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;

    border-radius: var(--radius-sm);

    font-size: var(--fs-2xs);
    font-weight: var(--fw-medium);
    line-height: var(--lh-button);
}

.home-services__consultation {
    gap: 14px;

    min-width: 245px;
    padding: 8px 18px;

    background: var(--gradient-primary);
    color: var(--white);
}

.home-services__consultation:hover {
    background: var(--gradient-primary-hover);
    color: var(--white);
}

.home-services__phone {
    gap: 9px;

    min-width: 140px;
    padding: 8px 15px;

    border: 1px solid #8ca0b0;

    background: rgba(255, 255, 255, .65);
    color: var(--navy);
}

.home-services__phone svg {
    width: 14px;
    height: 14px;

    fill: currentColor;
}

.home-services__phone:hover {
    border-color: var(--navy);

    background: var(--white);
    color: var(--navy);
}


/* ==================================================
   RTL
================================================== */

[dir="rtl"] .home-service-card__icon {
    object-position: right center;
}

[dir="rtl"] .home-service-card__link,
[dir="rtl"] .home-services__consultation {
    direction: rtl;
}

[dir="rtl"] .home-service-card__link span:last-child,
[dir="rtl"] .home-services__consultation span:last-child {
    transform: scaleX(-1);
}


/* ==================================================
   LAPTOP
================================================== */

@media (max-width: 1199px) {

    .home-services__grid {
        gap: var(--space-2);
    }

    .home-service-card {
        min-height: 235px;
        padding: var(--space-4) var(--space-3) var(--space-3);
    }

    .home-service-card h3 {
        font-size: var(--fs-stat-label);
    }

}


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

@media (max-width: 991px) {

    .home-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-3);
    }

    .home-service-card {
        min-height: 225px;
    }

    .home-services__decor {
        width: 550px;
        height: 550px;

        left: -250px;
        bottom: -100px;
    }

}


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

@media (max-width: 767px) {

    .home-services__header {
        margin-bottom: var(--space-6);
    }

    .home-services__title br {
        display: none;
    }

    .home-services__intro {
        font-size: var(--fs-small);
    }

    .home-services__cta {
        margin-top: 35px;
    }

}


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

@media (max-width: 575px) {

    .home-services__grid {
        grid-template-columns: 1fr;
    }

    .home-service-card {
        min-height: 0;
        padding: var(--space-5) var(--space-4);
    }

    .home-service-card__icon {
        width: 50px;
        height: 50px;
    }

    .home-services__cta {
        flex-direction: column;
        align-items: stretch;

        gap: var(--space-xs);
    }

    .home-services__consultation,
    .home-services__phone {
        width: 100%;
        min-height: 44px;
    }

}

/* ==================================================
   WHY CHOOSE INTELLIVEST
================================================== */

.home-why {
    position: relative;
    overflow: hidden;

    padding-block: var(--section-padding);

    background: var(--white);
}

.home-why__inner {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    align-items: center;

    gap: 85px;
}


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

.home-why__content {
    position: relative;
    z-index: 2;
}

.home-why__eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: var(--space-5);

    color: var(--copper);
}

.home-why__eyebrow svg {
    flex: 0 0 auto;

    width: 18px;
    height: 18px;
}

.home-why__eyebrow span {
    line-height: var(--lh-heading);
}


/* Heading */

.home-why__title {
    margin: 0 0 20px;
    letter-spacing: -0.7px;
}

.home-why__title span {
    color: var(--copper);
}


/* Description */

.home-why__description {
    max-width: 555px;

    margin: 0 0 27px;
}


/* Phone Button */

.home-why__phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: var(--space-xs);

    min-width: 155px;
    min-height: 38px;

    padding: 8px 16px;

    border: 1px solid #8ca0b0;
    border-radius: var(--radius-sm);

    background: transparent;
    color: var(--navy);

    font-size: var(--fs-small);
    font-weight: var(--fw-medium);

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease;
}

.home-why__phone svg {
    width: 17px;
    height: 17px;

    fill: currentColor;
}

.home-why__phone:hover {
    border-color: var(--navy);

    background: var(--navy);
    color: var(--white);
}


/* ==================================================
   RIGHT BENEFITS
================================================== */

.home-why__benefits {
    position: relative;

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

    min-height: 390px;
}


/* Navy + Copper Circle */

.home-why__circle {
    position: absolute;
    z-index: 0;

    width: 355px;
    height: 355px;

    top: 50%;
    left: 50%;

    border: 5px solid var(--copper);
    border-radius: 50%;

    background: var(--navy);

    box-shadow: 0 5px 16px rgba(7, 33, 56, .16);

    transform: translate(-50%, -50%);
}


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

.home-why__grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    width: 100%;

    gap: var(--space-xs);
}


/* Cards */

.home-why-card {
    min-height: 140px;

    padding: 27px 22px 22px;

    border: 1px solid var(--navy);
    border-radius: 5px;

    background: var(--bg-light);
}

.home-why-card h3 {
    margin: 0 0 10px;
    font-size: var(--fs-card-title);
    line-height: var(--lh-card-title);
}

.home-why-card p {
    margin: 0;
    font-size: var(--fs-body);
    line-height: var(--lh-copy-compact);
    color: var(--body-color);
}


/* ==================================================
   RTL
================================================== */

[dir="rtl"] .home-why__eyebrow {
    flex-direction: row-reverse;
    justify-content: flex-end;
}


/* ==================================================
   LAPTOP
================================================== */

@media (max-width: 1199px) {

    .home-why__inner {
        gap: 55px;
    }

    .home-why__circle {
        width: 330px;
        height: 330px;
    }

    .home-why-card {
        padding: 24px 19px;
    }

    .home-why-card h3 {
        font-size: var(--fs-card-title-sm);
    }

}


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

@media (max-width: 991px) {

    .home-why__inner {
        grid-template-columns: 1fr;

        gap: var(--space-2xl);
    }

    .home-why__content {
        max-width: 650px;
    }

    .home-why__benefits {
        width: 100%;
        max-width: 700px;

        margin: 0 auto;
    }

}


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

@media (max-width: 767px) {

    .home-why__inner {
        gap: 42px;
    }

    .home-why__eyebrow {
        margin-bottom: 18px;
    }

    .home-why__title {
        line-height: var(--lh-card-title);
    }

    .home-why__title br {
        display: none;
    }

    .home-why__description {
        font-size: var(--fs-copy-compact);
    }

    .home-why__benefits {
        min-height: 360px;
    }

    .home-why__circle {
        width: 310px;
        height: 310px;
    }

    .home-why-card {
        min-height: 135px;

        padding: 21px 17px;
    }

    .home-why-card h3 {
        font-size: var(--fs-stat-label);
    }

    .home-why-card p {
        font-size: var(--fs-small);
    }

}


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

@media (max-width: 575px) {

    .home-why__phone {
        min-height: 42px;
    }

    .home-why__benefits {
        min-height: 0;

        padding: 25px 0;
    }

    .home-why__circle {
        width: 290px;
        height: 290px;
    }

    .home-why__grid {
        grid-template-columns: 1fr;

        gap: var(--space-xs);
    }

    .home-why-card {
        min-height: 0;

        padding: var(--space-5) var(--space-4);

        background: rgba(245, 249, 252, .96);
    }

}

/* ==================================================
   CLIENT PORTAL
================================================== */

.home-portal {
    padding-bottom: var(--section-padding);
    background: var(--white);
}

.home-portal__inner {
    display: grid;
    grid-template-columns: 596px 1fr;
    align-items: center;
    gap: 95px;
}


/* ==================================================
   IMAGE
================================================== */

.home-portal__visual {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.home-portal__image {
    display: block;

    width: 100%;
    max-width: 596px;
    height: auto;

    /* Border is already part of Figma export */
}


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

.home-portal__content {
    max-width: 540px;
}


/* Eyebrow */

.home-portal__eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: var(--space-5);

    color: var(--copper);
}

.home-portal__eyebrow svg {
    flex: 0 0 auto;

    width: 18px;
    height: 18px;
}

.home-portal__eyebrow span {
    line-height: var(--lh-heading);
}


/* Heading */

.home-portal__title {
    margin: 0 0 20px;
    letter-spacing: -.7px;
}

.home-portal__title span {
    color: var(--copper);
}


/* Description */

.home-portal__description {
    max-width: 520px;

    margin: 0 0 10px;
}


/* ==================================================
   LIST
================================================== */

.home-portal__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);

    margin: 0 0 29px;
    padding: 0;

    list-style: none;
}

.home-portal__list li {
    display: flex;
    align-items: flex-start;
    gap: 9px;

    margin: 0;

    font-size: var(--fs-copy-compact);
    line-height: var(--lh-list);

    color: var(--body-color);
}

.home-portal__arrow {
    flex: 0 0 auto;

    color: var(--copper);
}


/* ==================================================
   BUTTON
================================================== */

.home-portal__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 17px;

    min-width: 155px;
    min-height: 38px;

    padding: 8px 17px;

    border: 1px solid #8ca0b0;
    border-radius: var(--radius-sm);

    background: transparent;

    font-size: var(--fs-small);
    font-weight: var(--fw-medium);
    line-height: var(--lh-button);

    color: var(--navy);

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.home-portal__button svg {
    width: 17px;
    height: 17px;
}

.home-portal__button:hover {
    border-color: var(--navy);

    background: var(--navy);
    color: var(--white);
}


/* ==================================================
   RTL
================================================== */

[dir="rtl"] .home-portal__button svg {
    transform: scaleX(-1);
}


/* ==================================================
   LAPTOP
================================================== */

@media (max-width: 1199px) {

    .home-portal__inner {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
        gap: 60px;
    }

}


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

@media (max-width: 991px) {

    .home-portal__inner {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }

    .home-portal__visual {
        justify-content: center;
    }

    .home-portal__content {
        width: 100%;
        max-width: 650px;

        margin: 0 auto;
    }

}


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

@media (max-width: 767px) {

    .home-portal__inner {
        gap: 38px;
    }

    .home-portal__eyebrow {
        margin-bottom: 18px;
    }

    .home-portal__title {
        line-height: var(--lh-card-title);
    }

    .home-portal__title br {
        display: none;
    }

    .home-portal__description {
        font-size: var(--fs-copy-compact);
    }

    .home-portal__list li {
        font-size: var(--fs-small);
    }

}


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

@media (max-width: 575px) {

    .home-portal__button {
        min-height: 42px;
    }

}

/* ==================================================
   TESTIMONIALS
================================================== */

.home-testimonials {
    position: relative;
    z-index: 1;

    overflow: hidden;

    padding-block: var(--section-padding);

    background: var(--bg-light);
}


/* ==================================================
   DECORATIVE CIRCLES
================================================== */

.home-testimonials__decor {
    position: absolute;
    z-index: 0;

    width: 500px;
    height: 500px;

    right: -155px;
    bottom: -160px;

    pointer-events: none;
}

.home-testimonials__circle-outline,
.home-testimonials__circle-fill {
    position: absolute;

    display: block;

    border-radius: 50%;
}


/* Copper outline circle */

.home-testimonials__circle-outline {
    width: 500px;
    height: 500px;

    top: 0;
    left: 0;

    border: 4px solid rgba(189, 113, 62, .17);
}


/* Grey-blue filled circle */

.home-testimonials__circle-fill {
    width: 490px;
    height: 490px;

    top: 8px;
    left: 65px;

    background: rgba(7, 33, 56, .12);
}


/* ==================================================
   HEADER
================================================== */

.home-testimonials .container {
    position: relative;
    z-index: 2;
}

.home-testimonials__header {
    max-width: 760px;

    margin: 0 auto 62px;

    text-align: center;
}


/* Eyebrow */

.home-testimonials__eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 22px;

    margin-bottom: var(--space-5);
}

.home-testimonials__line {
    display: block;

    width: 48px;
    height: 1px;

    background: var(--navy);
}

.home-testimonials__eyebrow strong {
    line-height: var(--lh-button);
}


/* Heading */

.home-testimonials__title {
    margin: 0 0 14px;
    letter-spacing: -.7px;
}

.home-testimonials__title span {
    color: var(--copper);
}


/* Intro */

.home-testimonials__intro {
    margin: 0;

    font-size: var(--fs-body);
    line-height: var(--lh-copy-compact);

    color: var(--body-color);
}


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

.home-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 6px;
}


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

.home-testimonial-card {
    display: flex;
    flex-direction: column;

    min-height: 258px;

    padding: 30px 23px 26px;

    border: 1px solid var(--navy);
    border-radius: 6px;

    background: rgba(245, 249, 252, .78);

    box-shadow: 0 3px 3px rgba(7, 33, 56, .22);
}


/* Quote */

.home-testimonial-card blockquote {
    margin: 0 0 17px;
    padding: 0;

    border: 0;
    font-size: var(--fs-body);
    font-style: normal;
    font-weight: var(--fw-regular);
    line-height: var(--lh-quote);

    color: var(--body-color);
}


/* Author */

.home-testimonial-card__author {
    margin-top: auto;
}

.home-testimonial-card__author h3 {
    margin: 0 0 3px;
	font-family: var(--font-heading);
    font-size: var(--fs-card-title);
    line-height: var(--lh-card-title);
}

.home-testimonial-card__author p {
    margin: 0;
	font-family: var(--fs-body);
    font-size: var(--fs-copy-compact);
    line-height: var(--lh-meta);
    color: var(--copper);
}


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

@media (max-width: 991px) {

    .home-testimonials__header {
        margin-bottom: 45px;
    }

    .home-testimonials__grid {
        grid-template-columns: 1fr;
        gap: var(--space-3);

        max-width: 700px;
        margin: 0 auto;
    }

    .home-testimonial-card {
        min-height: 0;
    }

    .home-testimonials__decor {
        right: -250px;
    }

}


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

@media (max-width: 767px) {

    .home-testimonials__header {
        margin-bottom: 35px;
    }

    .home-testimonials__eyebrow {
        gap: 14px;
        margin-bottom: 18px;
    }

    .home-testimonials__line {
        width: 35px;
    }

    .home-testimonials__intro {
        font-size: var(--fs-copy-compact);
    }

    .desktop-only {
        display: none;
    }

    .home-testimonial-card {
        padding: 25px 20px;
    }

    .home-testimonial-card blockquote {
        font-size: var(--fs-small);
    }

    .home-testimonials__decor {
        width: 380px;
        height: 380px;

        right: -230px;
        bottom: -100px;
    }

    .home-testimonials__circle-outline {
        width: 380px;
        height: 380px;
    }

    .home-testimonials__circle-fill {
        width: 370px;
        height: 370px;

        left: 45px;
    }

}


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

@media (max-width: 575px) {

    .home-testimonial-card__author h3 {
        font-size: var(--fs-card-title-sm);
    }

    .home-testimonial-card__author p {
        font-size: var(--fs-small);
    }

}
