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

.hero{
    position:relative;

    min-height:100vh;

    padding:
        calc(var(--header-height) + 4.5rem)
        0
        6rem;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 8% 18%,
            rgba(198,144,46,.12),
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 20%,
            rgba(232,135,30,.10),
            transparent 28%
        ),
        radial-gradient(
            circle at 75% 85%,
            rgba(15,45,82,.07),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #fffdf8 0%,
            var(--bg-body) 48%,
            #f8f0e5 100%
        );

    isolation:isolate;
}


.hero::before{
    content:"";

    position:absolute;

    width:520px;
    height:520px;

    top:6%;
    right:-180px;

    border:1px solid rgba(198,144,46,.12);
    border-radius:50%;

    box-shadow:
        0 0 0 70px rgba(198,144,46,.03),
        0 0 0 140px rgba(15,45,82,.02);

    pointer-events:none;

    z-index:-1;
}


.hero::after{
    content:"";

    position:absolute;

    width:360px;
    height:360px;

    left:-170px;
    bottom:-140px;

    border-radius:50%;

    background:rgba(15,45,82,.035);

    pointer-events:none;

    z-index:-1;
}


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

.hero__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.02fr)
        minmax(440px,.98fr);

    align-items:center;

    gap:clamp(3rem,6vw,6rem);
}


.hero__content{
    position:relative;

    max-width:680px;

    z-index:5;
}


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

.hero__eyebrow{
    display:inline-flex;
    align-items:center;

    gap:.65rem;

    margin-bottom:1.5rem;

    padding:.6rem 1rem;

    border:
        1px solid
        rgba(198,144,46,.24);

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

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

    box-shadow:
        0 8px 30px
        rgba(15,45,82,.05);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    color:var(--color-primary);

    font-size:var(--text-xs);

    font-weight:var(--fw-bold);

    letter-spacing:.14em;

    text-transform:uppercase;
}


.hero__eyebrow::before{
    content:"";

    width:7px;
    height:7px;

    flex-shrink:0;

    border-radius:50%;

    background:var(--color-highlight);

    box-shadow:
        0 0 0 5px
        rgba(232,135,30,.12);
}


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

.hero__title{
    max-width:700px;

    margin-bottom:1.5rem;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(3.5rem,5.3vw,5.7rem);

    font-weight:var(--fw-extrabold);

    line-height:.98;

    letter-spacing:-.055em;
}


.hero__title span{
    display:block;

    margin-top:.5rem;

    background:
        linear-gradient(
            110deg,
            var(--color-accent) 5%,
            var(--color-highlight) 55%,
            var(--color-accent-light) 100%
        );

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}


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

.hero__description{
    max-width:610px;

    margin-bottom:2rem;

    color:var(--text-body);

    font-size:
        clamp(1rem,1.2vw,1.125rem);

    line-height:1.8;
}


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

.hero__actions{
    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:.875rem;

    margin-bottom:2.5rem;
}


.hero__actions .btn{
    min-height:54px;

    padding-inline:1.5rem;
}


/*======================================
  HERO TRUST POINTS
======================================*/

.hero__trust{
    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:.75rem 1.5rem;
}


.hero__trust-item{
    display:inline-flex;

    align-items:center;

    gap:.55rem;

    color:var(--color-primary);

    font-size:var(--text-sm);

    font-weight:var(--fw-semibold);
}


.hero__trust-icon{
    display:grid;

    width:21px;
    height:21px;

    flex-shrink:0;

    place-items:center;

    border-radius:50%;

    background:
        rgba(198,144,46,.13);

    color:var(--color-accent);

    font-size:.72rem;

    font-weight:var(--fw-bold);
}


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

.hero__visual{
    position:relative;

    display:grid;

    min-height:560px;

    place-items:center;

    z-index:2;
}


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

.hero-orbit{
    position:absolute;

    border-radius:50%;

    pointer-events:none;
}


.hero-orbit--large{
    width:520px;
    height:520px;

    border:
        1px solid
        rgba(15,45,82,.09);

    animation:
        heroOrbitRotate
        34s linear infinite;
}


.hero-orbit--large::before{
    content:"";

    position:absolute;

    width:12px;
    height:12px;

    top:18%;
    right:7%;

    border-radius:50%;

    background:var(--color-highlight);

    box-shadow:
        0 0 0 7px
        rgba(232,135,30,.09),
        0 5px 18px
        rgba(232,135,30,.28);
}


.hero-orbit--small{
    width:400px;
    height:400px;

    border:
        1px dashed
        rgba(198,144,46,.2);

    animation:
        heroOrbitRotateReverse
        28s linear infinite;
}


.hero-orbit--small::before{
    content:"";

    position:absolute;

    width:9px;
    height:9px;

    left:8%;
    bottom:24%;

    border-radius:50%;

    background:var(--color-accent);

    box-shadow:
        0 0 0 6px
        rgba(198,144,46,.1);
}


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

.hero-dashboard{
    position:relative;

    width:380px;

    min-height:350px;

    padding:1.75rem;

    overflow:hidden;

    border:
        1px solid
        rgba(255,255,255,.75);

    border-radius:30px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.92),
            rgba(255,250,242,.78)
        );

    box-shadow:
        0 30px 80px
        rgba(15,45,82,.14),

        0 10px 30px
        rgba(15,45,82,.07),

        inset 0 1px 0
        rgba(255,255,255,.9);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    transform:
        perspective(1000px)
        rotateY(-4deg)
        rotateX(2deg);

    transition:
        transform var(--transition-slow),
        box-shadow var(--transition-slow);

    z-index:3;
}


.hero-dashboard:hover{
    transform:
        perspective(1000px)
        rotateY(0)
        rotateX(0)
        translateY(-4px);

    box-shadow:
        0 38px 90px
        rgba(15,45,82,.17),

        0 12px 35px
        rgba(15,45,82,.08);
}


.hero-dashboard::before{
    content:"";

    position:absolute;

    width:180px;
    height:180px;

    top:-90px;
    right:-60px;

    border-radius:50%;

    background:
        rgba(232,135,30,.1);

    pointer-events:none;
}


.hero-dashboard__top{
    position:relative;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:1.25rem;

    margin-bottom:2.125rem;

    z-index:1;
}


.hero-dashboard__label{
    display:block;

    margin-bottom:.5rem;

    color:var(--text-muted);

    font-size:var(--text-xs);

    font-weight:var(--fw-semibold);

    letter-spacing:.04em;
}


.hero-dashboard__value{
    display:block;

    color:var(--color-primary);

    font-family:var(--font-heading);

    font-size:
        clamp(2.4rem,4vw,3.3rem);

    font-weight:var(--fw-extrabold);

    line-height:1;

    letter-spacing:-.045em;
}


.hero-dashboard__status{
    display:inline-flex;

    align-items:center;

    gap:.3rem;

    padding:.45rem .65rem;

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

    background:
        rgba(46,155,87,.1);

    color:#237d56;

    font-size:.72rem;

    font-weight:var(--fw-bold);
}


.hero-dashboard__status::before{
    content:"↗";

    font-size:.9rem;
}


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

.hero-chart{
    position:relative;

    display:flex;

    height:155px;

    align-items:flex-end;

    justify-content:space-between;

    gap:.625rem;

    padding:1rem .375rem 0;

    border-bottom:
        1px solid
        rgba(15,45,82,.1);

    z-index:1;
}


.hero-chart::before,
.hero-chart::after{
    content:"";

    position:absolute;

    left:0;

    width:100%;

    border-top:
        1px dashed
        rgba(15,45,82,.07);

    pointer-events:none;
}


.hero-chart::before{
    top:34%;
}


.hero-chart::after{
    top:66%;
}


.hero-chart__bar{
    position:relative;

    width:12%;

    height:var(--bar-height);

    min-height:18px;

    border-radius:
        8px 8px 3px 3px;

    background:
        linear-gradient(
            180deg,
            var(--color-highlight) 0%,
            var(--color-accent) 100%
        );

    box-shadow:
        0 8px 16px
        rgba(198,144,46,.14);

    transform-origin:bottom;

    animation:
        heroBarGrow
        1.1s
        cubic-bezier(.2,.8,.2,1)
        both;
}


.hero-chart__bar:nth-child(2){
    animation-delay:.08s;
}


.hero-chart__bar:nth-child(3){
    animation-delay:.16s;
}


.hero-chart__bar:nth-child(4){
    animation-delay:.24s;
}


.hero-chart__bar:nth-child(5){
    animation-delay:.32s;
}


.hero-chart__bar:nth-child(6){
    animation-delay:.4s;
}


/*======================================
  HERO FLOATING CARDS
======================================*/

.hero-float-card{
    position:absolute;

    display:flex;

    align-items:center;

    gap:.75rem;

    min-width:155px;

    padding:.875rem 1rem;

    border:
        1px solid
        rgba(255,255,255,.75);

    border-radius:17px;

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

    box-shadow:
        0 18px 45px
        rgba(15,45,82,.11),

        inset 0 1px 0
        rgba(255,255,255,.9);

    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);

    z-index:5;
}


.hero-float-card__icon{
    display:grid;

    width:39px;
    height:39px;

    flex-shrink:0;

    place-items:center;

    border-radius:12px;

    background:
        rgba(198,144,46,.12);

    color:var(--color-accent);

    font-family:var(--font-heading);

    font-size:.78rem;

    font-weight:var(--fw-extrabold);
}


.hero-float-card > div{
    display:flex;

    flex-direction:column;

    gap:.2rem;
}


.hero-float-card strong{
    color:var(--color-primary);

    font-size:.82rem;

    font-weight:var(--fw-bold);
}


.hero-float-card div span{
    color:var(--text-muted);

    font-size:.7rem;

    font-weight:var(--fw-medium);

    white-space:nowrap;
}


.hero-float-card--business{
    top:16%;
    left:-3%;

    animation:
        heroFloatOne
        5.5s ease-in-out infinite;
}


.hero-float-card--tax{
    top:31%;
    right:-4%;

    animation:
        heroFloatTwo
        6s ease-in-out infinite;
}


.hero-float-card--wealth{
    left:3%;
    bottom:14%;

    animation:
        heroFloatThree
        6.5s ease-in-out infinite;
}


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

@keyframes heroOrbitRotate{

    from{
        transform:rotate(0);
    }

    to{
        transform:rotate(360deg);
    }

}


@keyframes heroOrbitRotateReverse{

    from{
        transform:rotate(360deg);
    }

    to{
        transform:rotate(0);
    }

}


@keyframes heroBarGrow{

    from{
        transform:scaleY(0);
        opacity:0;
    }

    to{
        transform:scaleY(1);
        opacity:1;
    }

}


@keyframes heroFloatOne{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-9px);
    }

}


@keyframes heroFloatTwo{

    0%,
    100%{
        transform:
            translateY(0)
            rotate(1deg);
    }

    50%{
        transform:
            translateY(8px)
            rotate(-1deg);
    }

}


@keyframes heroFloatThree{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-7px);
    }

}


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

@media (max-width:1100px){

    .hero{
        padding-top:
            calc(var(--header-height) + 3.75rem);
    }


    .hero__grid{
        grid-template-columns:
            minmax(0,1fr)
            minmax(390px,.9fr);

        gap:2.5rem;
    }


    .hero__title{
        font-size:
            clamp(3.1rem,5.5vw,4.7rem);
    }


    .hero__visual{
        min-height:500px;
    }


    .hero-orbit--large{
        width:460px;
        height:460px;
    }


    .hero-orbit--small{
        width:350px;
        height:350px;
    }


    .hero-dashboard{
        width:340px;

        min-height:325px;

        padding:1.5rem;
    }

}


@media (max-width:900px){

    .hero{
        min-height:auto;

        padding:
            calc(var(--header-height) + 4rem)
            0
            5rem;
    }


    .hero__grid{
        grid-template-columns:1fr;

        gap:3.75rem;
    }


    .hero__content{
        max-width:720px;

        margin-inline:auto;

        text-align:center;
    }


    .hero__title{
        max-width:720px;

        margin-inline:auto;

        margin-bottom:1.5rem;
    }


    .hero__description{
        margin-inline:auto;

        margin-bottom:2rem;
    }


    .hero__actions,
    .hero__trust{
        justify-content:center;
    }


    .hero__visual{
        min-height:520px;
    }

}


@media (max-width:600px){

    .hero{
        padding:
            calc(var(--header-height) + 2.75rem)
            0
            4rem;
    }


    .hero::before{
        width:360px;
        height:360px;

        right:-210px;
    }


    .hero__grid{
        gap:2.75rem;
    }


    .hero__eyebrow{
        margin-bottom:1.25rem;

        padding:.5rem .8rem;

        font-size:.68rem;

        letter-spacing:.11em;
    }


    .hero__title{
        font-size:
            clamp(2.7rem,13vw,4rem);

        line-height:1.01;

        letter-spacing:-.05em;
    }


    .hero__description{
        font-size:.98rem;

        line-height:1.72;
    }


    .hero__actions{
        flex-direction:column;

        align-items:stretch;

        margin-bottom:2rem;
    }


    .hero__actions .btn{
        width:100%;
    }


    .hero__trust{
        gap:.75rem 1rem;
    }


    .hero__trust-item{
        font-size:.78rem;
    }


    .hero__visual{
        min-height:410px;
    }


    .hero-orbit--large{
        width:390px;
        height:390px;
    }


    .hero-orbit--small{
        width:300px;
        height:300px;
    }


    .hero-dashboard{
        width:72%;

        min-height:270px;

        padding:1.25rem;

        border-radius:24px;

        transform:none;
    }


    .hero-dashboard:hover{
        transform:translateY(-3px);
    }


    .hero-dashboard__top{
        margin-bottom:1.4rem;
    }


    .hero-dashboard__value{
        font-size:2.3rem;
    }


    .hero-chart{
        height:115px;

        gap:.45rem;
    }


    .hero-float-card{
        min-width:118px;

        gap:.5rem;

        padding:.625rem .7rem;

        border-radius:14px;
    }


    .hero-float-card__icon{
        width:32px;
        height:32px;

        border-radius:9px;

        font-size:.68rem;
    }


    .hero-float-card strong{
        font-size:.72rem;
    }


    .hero-float-card div span{
        font-size:.62rem;
    }


    .hero-float-card--business{
        top:13%;
        left:0;
    }


    .hero-float-card--tax{
        top:29%;
        right:0;
    }


    .hero-float-card--wealth{
        left:3%;
        bottom:11%;
    }

}


@media (max-width:400px){

    .hero__title{
        font-size:2.55rem;
    }


    .hero__trust{
        flex-direction:column;

        align-items:flex-start;

        width:max-content;

        margin-inline:auto;
    }


    .hero__visual{
        min-height:365px;
    }


    .hero-orbit--large{
        width:340px;
        height:340px;
    }


    .hero-orbit--small{
        width:270px;
        height:270px;
    }


    .hero-dashboard{
        width:76%;

        min-height:245px;

        padding:1rem;
    }


    .hero-chart{
        height:95px;
    }


    .hero-float-card{
        min-width:105px;

        padding:.5rem .55rem;
    }


    .hero-float-card__icon{
        display:none;
    }

}


/*======================================
  HERO REDUCED MOTION
======================================*/

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

    .hero-orbit,
    .hero-float-card,
    .hero-chart__bar{
        animation:none;
    }


    .hero-dashboard{
        transition:none;
    }

}

/*======================================
  SERVICES OVERVIEW
======================================*/

.services-overview{
    position:relative;
    overflow:hidden;

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

    background:
        radial-gradient(
            circle at 8% 20%,
            rgba(198,144,46,.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 80%,
            rgba(232,135,30,.07),
            transparent 26%
        ),
        linear-gradient(
            180deg,
            #f5efe6 0%,
            #faf7f1 48%,
            #f7f1e8 100%
        );

    isolation:isolate;
}


.services-overview::before{
    content:"";

    position:absolute;

    width:460px;
    height:460px;

    top:-230px;
    right:-180px;

    border:
        1px solid
        rgba(198,144,46,.12);

    border-radius:50%;

    box-shadow:
        0 0 0 65px
        rgba(198,144,46,.025),

        0 0 0 130px
        rgba(15,45,82,.018);

    pointer-events:none;

    z-index:-1;
}


.services-overview::after{
    content:"";

    position:absolute;

    width:320px;
    height:320px;

    left:-170px;
    bottom:-140px;

    border-radius:50%;

    background:
        rgba(15,45,82,.035);

    pointer-events:none;

    z-index:-1;
}


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

.services-overview__header{
    margin-bottom:4.5rem;
}


.services-overview .section-eyebrow{
    display:inline-flex;
    align-items:center;

    gap:.6rem;

    margin-bottom:1.5rem;

    padding:.55rem .9rem;

    border:
        1px solid
        rgba(198,144,46,.22);

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

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

    color:var(--color-primary);

    font-size:var(--text-xs);

    font-weight:var(--fw-bold);

    letter-spacing:.13em;

    text-transform:uppercase;

    box-shadow:
        0 8px 25px
        rgba(15,45,82,.04);
}


.services-overview .section-eyebrow::before{
    content:"";

    width:7px;
    height:7px;

    flex-shrink:0;

    border-radius:50%;

    background:var(--color-highlight);

    box-shadow:
        0 0 0 5px
        rgba(232,135,30,.1);
}


.services-overview__heading-row{
    display:grid;

    grid-template-columns:
        minmax(0,1.2fr)
        minmax(300px,.8fr);

    align-items:end;

    gap:clamp(3rem,7vw,7rem);
}


.services-overview__title{
    max-width:720px;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(2.8rem,4.5vw,5rem);

    font-weight:var(--fw-extrabold);

    line-height:1.02;

    letter-spacing:-.05em;
}


.services-overview__title span{
    display:block;

    margin-top:.35rem;

    background:
        linear-gradient(
            110deg,
            var(--color-accent) 5%,
            var(--color-highlight) 60%,
            var(--color-accent-light) 100%
        );

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}


.services-overview__intro{
    max-width:470px;

    padding-bottom:.4rem;

    color:var(--text-body);

    font-size:1.05rem;

    line-height:1.8;
}


/*======================================
  SERVICE CATEGORY GRID
======================================*/

.services-overview__grid{
    display:grid;

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

    gap:1.25rem;

    align-items:stretch;
}


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

.service-category{
    position:relative;

    display:flex;
    flex-direction:column;

    min-height:540px;

    padding:2rem;

    overflow:hidden;

    border:
        1px solid
        rgba(15,45,82,.08);

    border-radius:28px;

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

    box-shadow:
        0 18px 55px
        rgba(15,45,82,.07),

        inset 0 1px 0
        rgba(255,255,255,.9);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    transition:
        transform var(--transition-base),
        box-shadow var(--transition-base),
        border-color var(--transition-base);
}


.service-category::before{
    content:"";

    position:absolute;

    width:180px;
    height:180px;

    top:-100px;
    right:-80px;

    border-radius:50%;

    background:
        rgba(198,144,46,.07);

    transition:
        transform var(--transition-slow),
        opacity var(--transition-slow);

    pointer-events:none;
}


.service-category:hover{
    transform:translateY(-8px);

    border-color:
        rgba(198,144,46,.22);

    box-shadow:
        0 28px 70px
        rgba(15,45,82,.11),

        inset 0 1px 0
        rgba(255,255,255,.95);
}


.service-category:hover::before{
    transform:scale(1.25);

    opacity:.8;
}


/*======================================
  CATEGORY VARIATIONS
======================================*/

.service-category--business{
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.82),
            rgba(248,244,237,.76)
        );
}


.service-category--tax{
    background:
        linear-gradient(
            145deg,
            rgba(248,242,232,.86),
            rgba(255,255,255,.7)
        );
}


.service-category--wealth{
    background:
        linear-gradient(
            145deg,
            rgba(244,247,250,.82),
            rgba(255,255,255,.74)
        );
}


/*======================================
  CATEGORY TOP
======================================*/

.service-category__top{
    position:relative;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:1rem;

    margin-bottom:3.5rem;

    z-index:1;
}


.service-category__number{
    color:
        rgba(15,45,82,.38);

    font-family:var(--font-heading);

    font-size:.78rem;

    font-weight:var(--fw-bold);

    letter-spacing:.08em;
}


.service-category__label{
    display:inline-flex;

    align-items:center;

    padding:.45rem .75rem;

    border:
        1px solid
        rgba(198,144,46,.17);

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

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

    color:var(--color-primary);

    font-size:.72rem;

    font-weight:var(--fw-bold);

    letter-spacing:.06em;

    text-transform:uppercase;
}


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

.service-category__title{
    position:relative;

    max-width:330px;

    margin-bottom:1rem;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(1.65rem,2.2vw,2.25rem);

    font-weight:var(--fw-bold);

    line-height:1.12;

    letter-spacing:-.035em;

    z-index:1;
}


.service-category__description{
    position:relative;

    margin-bottom:2rem;

    color:var(--text-body);

    font-size:.95rem;

    line-height:1.72;

    z-index:1;
}


/*======================================
  CATEGORY LINKS
======================================*/

.service-category__links{
    position:relative;

    display:flex;

    flex-direction:column;

    margin-top:auto;

    padding:0;

    list-style:none;

    border-top:
        1px solid
        rgba(15,45,82,.08);

    z-index:1;
}


.service-category__links li{
    margin:0;
}


.service-category__links a{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:1rem;

    min-height:53px;

    padding:.8rem .15rem;

    border-bottom:
        1px solid
        rgba(15,45,82,.07);

    color:var(--color-primary);

    font-size:.9rem;

    font-weight:var(--fw-semibold);

    transition:
        color var(--transition-fast),
        padding-left var(--transition-fast);
}


.service-category__links a span{
    display:grid;

    width:28px;
    height:28px;

    flex-shrink:0;

    place-items:center;

    border-radius:50%;

    background:
        rgba(198,144,46,.1);

    color:var(--color-accent);

    font-size:.85rem;

    transition:
        transform var(--transition-fast),
        background var(--transition-fast);
}


.service-category__links a:hover{
    padding-left:.35rem;

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


.service-category__links a:hover span{
    transform:
        translate(2px,-2px);

    background:
        rgba(198,144,46,.17);
}


/*======================================
  DIGITAL SERVICES FEATURE
======================================*/

.services-overview__digital{
    position:relative;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:3rem;

    margin-top:1.25rem;

    padding:
        2rem
        2.25rem;

    overflow:hidden;

    border-radius:24px;

    background:
        linear-gradient(
            110deg,
            var(--color-primary) 0%,
            #173a62 58%,
            #1c456f 100%
        );

    box-shadow:
        0 22px 55px
        rgba(15,45,82,.16);

    color:#fff;
}


.services-overview__digital::before{
    content:"";

    position:absolute;

    width:260px;
    height:260px;

    top:-160px;
    right:8%;

    border-radius:50%;

    background:
        rgba(232,135,30,.14);

    box-shadow:
        0 0 0 55px
        rgba(198,144,46,.045);

    pointer-events:none;
}


.services-overview__digital-content{
    position:relative;

    max-width:680px;

    z-index:1;
}


.services-overview__digital-label{
    display:block;

    margin-bottom:.65rem;

    color:#e8b65e;

    font-size:.7rem;

    font-weight:var(--fw-bold);

    letter-spacing:.14em;

    text-transform:uppercase;
}


.services-overview__digital h3{
    margin-bottom:.55rem;

    color:#fff;

    font-family:var(--font-heading);

    font-size:
        clamp(1.5rem,2.5vw,2.2rem);

    font-weight:var(--fw-bold);

    letter-spacing:-.03em;
}


.services-overview__digital p{
    max-width:650px;

    color:
        rgba(255,255,255,.7);

    font-size:.93rem;

    line-height:1.7;
}


.services-overview__digital-link{
    position:relative;

    display:inline-flex;

    flex-shrink:0;

    align-items:center;

    gap:.65rem;

    min-height:50px;

    padding:.8rem 1.2rem;

    border:
        1px solid
        rgba(255,255,255,.18);

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

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

    color:#fff;

    font-size:.86rem;

    font-weight:var(--fw-semibold);

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);

    transition:
        background var(--transition-fast),
        border-color var(--transition-fast),
        transform var(--transition-fast);

    z-index:1;
}


.services-overview__digital-link:hover{
    transform:translateY(-2px);

    border-color:
        rgba(255,255,255,.3);

    background:
        rgba(255,255,255,.16);
}


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

.services-overview__footer{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:.7rem;

    margin-top:2.25rem;

    text-align:center;
}


.services-overview__footer p{
    color:var(--text-muted);

    font-size:.9rem;
}


.services-overview__footer .text-link{
    display:inline-flex;

    align-items:center;

    gap:.4rem;

    color:var(--color-primary);

    font-size:.9rem;

    font-weight:var(--fw-bold);

    transition:
        color var(--transition-fast);
}


.services-overview__footer .text-link span{
    transition:
        transform var(--transition-fast);
}


.services-overview__footer .text-link:hover{
    color:var(--color-accent);
}


.services-overview__footer .text-link:hover span{
    transform:translateX(4px);
}


/*======================================
  SERVICES RESPONSIVE
======================================*/

@media (max-width:1050px){

    .services-overview__heading-row{
        gap:3rem;
    }


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


    .service-category--wealth{
        grid-column:1 / -1;

        min-height:auto;
    }


    .service-category--wealth
    .service-category__links{
        display:grid;

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

        gap:1rem;

        border-top:none;
    }


    .service-category--wealth
    .service-category__links a{
        border:
            1px solid
            rgba(15,45,82,.08);

        border-radius:14px;

        padding:.8rem;
    }

}


@media (max-width:800px){

    .services-overview{
        padding:
            calc(var(--section-padding) * .75)
            0;
    }


    .services-overview__header{
        margin-bottom:3rem;
    }


    .services-overview__heading-row{
        grid-template-columns:1fr;

        align-items:start;

        gap:1.5rem;
    }


    .services-overview__title{
        max-width:650px;
    }


    .services-overview__intro{
        max-width:600px;
    }


    .services-overview__grid{
        grid-template-columns:1fr;
    }


    .service-category{
        min-height:auto;
    }


    .service-category--wealth{
        grid-column:auto;
    }


    .service-category--wealth
    .service-category__links{
        display:flex;
    }


    .service-category--wealth
    .service-category__links a{
        border:none;

        border-bottom:
            1px solid
            rgba(15,45,82,.07);

        border-radius:0;

        padding:.8rem .15rem;
    }


    .services-overview__digital{
        align-items:flex-start;

        flex-direction:column;

        gap:1.5rem;
    }

}


@media (max-width:600px){

    .services-overview{
        padding:
            4.5rem
            0;
    }


    .services-overview__header{
        margin-bottom:2.5rem;
    }


    .services-overview__title{
        font-size:
            clamp(2.45rem,11vw,3.5rem);
    }


    .services-overview__intro{
        font-size:.98rem;

        line-height:1.72;
    }


    .service-category{
        padding:1.5rem;

        border-radius:22px;
    }


    .service-category__top{
        margin-bottom:2.5rem;
    }


    .service-category__title{
        font-size:1.75rem;
    }


    .services-overview__digital{
        padding:
            1.6rem
            1.5rem;

        border-radius:20px;
    }


    .services-overview__digital-link{
        width:100%;

        justify-content:center;
    }


    .services-overview__footer{
        flex-direction:column;

        gap:.35rem;
    }

}


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

    .service-category,
    .service-category::before,
    .service-category__links a,
    .service-category__links a span,
    .services-overview__digital-link,
    .services-overview__footer .text-link span{
        transition:none;
    }

}

/*======================================
  WHY WX
======================================*/

.why-wx{
    position:relative;

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

    overflow:hidden;

    background:
        radial-gradient(
            circle at 12% 75%,
            rgba(198,144,46,.08),
            transparent 30%
        ),
        radial-gradient(
            circle at 88% 18%,
            rgba(232,135,30,.06),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            #fffdf8 0%,
            var(--bg-body) 55%,
            #f8f2e9 100%
        );

    isolation:isolate;
}


.why-wx::before{
    content:"";

    position:absolute;

    width:500px;
    height:500px;

    top:-260px;
    left:-220px;

    border:
        1px solid
        rgba(15,45,82,.07);

    border-radius:50%;

    box-shadow:
        0 0 0 70px
        rgba(198,144,46,.025),

        0 0 0 140px
        rgba(15,45,82,.018);

    pointer-events:none;

    z-index:-1;
}


.why-wx::after{
    content:"";

    position:absolute;

    width:340px;
    height:340px;

    right:-180px;
    bottom:-160px;

    border-radius:50%;

    background:
        rgba(198,144,46,.045);

    pointer-events:none;

    z-index:-1;
}


/*======================================
  WHY WX GRID
======================================*/

.why-wx__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(500px,1.1fr);

    align-items:center;

    gap:clamp(4rem,8vw,8rem);
}


/*======================================
  WHY WX CONTENT
======================================*/

.why-wx__content{
    position:relative;

    max-width:570px;

    z-index:2;
}


.why-wx .section-eyebrow{
    display:inline-flex;

    align-items:center;

    gap:.6rem;

    margin-bottom:1.5rem;

    padding:.55rem .9rem;

    border:
        1px solid
        rgba(198,144,46,.22);

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

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

    color:var(--color-primary);

    font-size:var(--text-xs);

    font-weight:var(--fw-bold);

    letter-spacing:.13em;

    text-transform:uppercase;

    box-shadow:
        0 8px 25px
        rgba(15,45,82,.04);
}


.why-wx .section-eyebrow::before{
    content:"";

    width:7px;
    height:7px;

    flex-shrink:0;

    border-radius:50%;

    background:var(--color-highlight);

    box-shadow:
        0 0 0 5px
        rgba(232,135,30,.1);
}


.why-wx__title{
    max-width:600px;

    margin-bottom:1.5rem;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(2.8rem,4.4vw,4.8rem);

    font-weight:var(--fw-extrabold);

    line-height:1.03;

    letter-spacing:-.05em;
}


.why-wx__title span{
    display:block;

    margin-top:.35rem;

    background:
        linear-gradient(
            110deg,
            var(--color-accent) 5%,
            var(--color-highlight) 58%,
            var(--color-accent-light) 100%
        );

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}


.why-wx__description{
    max-width:540px;

    margin-bottom:2rem;

    color:var(--text-body);

    font-size:1.02rem;

    line-height:1.82;
}


.why-wx__link{
    display:inline-flex;

    align-items:center;

    gap:.55rem;

    color:var(--color-primary);

    font-size:.92rem;

    font-weight:var(--fw-bold);

    transition:
        color var(--transition-fast);
}


.why-wx__link span{
    display:inline-block;

    transition:
        transform var(--transition-fast);
}


.why-wx__link:hover{
    color:var(--color-accent);
}


.why-wx__link:hover span{
    transform:translateX(5px);
}


/*======================================
  WHY WX VALUES
======================================*/

.why-wx__values{
    position:relative;

    display:flex;

    flex-direction:column;

    border-top:
        1px solid
        rgba(15,45,82,.1);

    z-index:2;
}


.why-wx__value{
    position:relative;

    display:grid;

    grid-template-columns:
        54px
        minmax(0,1fr);

    gap:1.5rem;

    padding:
        1.75rem
        1rem;

    border-bottom:
        1px solid
        rgba(15,45,82,.1);

    transition:
        padding-left var(--transition-base),
        background var(--transition-base);
}


.why-wx__value::before{
    content:"";

    position:absolute;

    width:3px;

    top:18%;
    bottom:18%;
    left:0;

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

    background:
        linear-gradient(
            180deg,
            var(--color-highlight),
            var(--color-accent)
        );

    transform:scaleY(0);

    transform-origin:center;

    transition:
        transform var(--transition-base);
}


.why-wx__value:hover{
    padding-left:1.5rem;

    background:
        linear-gradient(
            90deg,
            rgba(198,144,46,.055),
            transparent 75%
        );
}


.why-wx__value:hover::before{
    transform:scaleY(1);
}


/*======================================
  WHY WX VALUE NUMBER
======================================*/

.why-wx__value-number{
    display:flex;

    align-items:flex-start;

    padding-top:.2rem;

    color:
        rgba(198,144,46,.72);

    font-family:var(--font-heading);

    font-size:.78rem;

    font-weight:var(--fw-bold);

    letter-spacing:.08em;
}


/*======================================
  WHY WX VALUE CONTENT
======================================*/

.why-wx__value-content h3{
    margin-bottom:.45rem;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(1.25rem,1.8vw,1.6rem);

    font-weight:var(--fw-bold);

    line-height:1.2;

    letter-spacing:-.025em;

    transition:
        color var(--transition-fast);
}


.why-wx__value:hover
.why-wx__value-content h3{
    color:var(--color-accent);
}


.why-wx__value-content p{
    max-width:570px;

    color:var(--text-body);

    font-size:.92rem;

    line-height:1.7;
}


/*======================================
  WHY WX DECORATIVE LINE
======================================*/

.why-wx__values::before{
    content:"";

    position:absolute;

    width:1px;
    height:70%;

    top:15%;
    right:-3rem;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(198,144,46,.2),
            transparent
        );

    pointer-events:none;
}


/*======================================
  WHY WX RESPONSIVE
======================================*/

@media (max-width:1050px){

    .why-wx__grid{
        grid-template-columns:
            minmax(0,.85fr)
            minmax(430px,1.15fr);

        gap:4rem;
    }


    .why-wx__title{
        font-size:
            clamp(2.7rem,4.5vw,4rem);
    }

}


@media (max-width:850px){

    .why-wx{
        padding:
            calc(var(--section-padding) * .75)
            0;
    }


    .why-wx__grid{
        grid-template-columns:1fr;

        gap:3.5rem;
    }


    .why-wx__content{
        max-width:680px;
    }


    .why-wx__description{
        max-width:620px;
    }


    .why-wx__values{
        max-width:760px;
    }


    .why-wx__values::before{
        display:none;
    }

}


@media (max-width:600px){

    .why-wx{
        padding:
            4.5rem
            0;
    }


    .why-wx__title{
        font-size:
            clamp(2.45rem,11vw,3.5rem);
    }


    .why-wx__description{
        font-size:.98rem;

        line-height:1.75;
    }


    .why-wx__value{
        grid-template-columns:
            38px
            minmax(0,1fr);

        gap:1rem;

        padding:
            1.5rem
            .5rem;
    }


    .why-wx__value:hover{
        padding-left:1rem;
    }


    .why-wx__value-content h3{
        font-size:1.3rem;
    }


    .why-wx__value-content p{
        font-size:.9rem;
    }

}


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

    .why-wx__link,
    .why-wx__link span,
    .why-wx__value,
    .why-wx__value::before,
    .why-wx__value-content h3{
        transition:none;
    }

}

/*======================================
  HOW IT WORKS
======================================*/

.how-it-works{
    position:relative;

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

    overflow:hidden;

    background:
        radial-gradient(
            circle at 90% 15%,
            rgba(198,144,46,.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 10% 90%,
            rgba(15,45,82,.06),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #f4ede3 0%,
            #faf7f1 50%,
            #f7f1e8 100%
        );

    isolation:isolate;
}


.how-it-works::before{
    content:"";

    position:absolute;

    width:480px;
    height:480px;

    top:-260px;
    right:-200px;

    border:
        1px solid
        rgba(198,144,46,.1);

    border-radius:50%;

    box-shadow:
        0 0 0 65px
        rgba(198,144,46,.025),

        0 0 0 130px
        rgba(15,45,82,.018);

    pointer-events:none;

    z-index:-1;
}


.how-it-works::after{
    content:"";

    position:absolute;

    width:300px;
    height:300px;

    left:-160px;
    bottom:-130px;

    border-radius:50%;

    background:
        rgba(15,45,82,.035);

    pointer-events:none;

    z-index:-1;
}


/*======================================
  HOW IT WORKS HEADER
======================================*/

.how-it-works__header{
    margin-bottom:5rem;
}


.how-it-works .section-eyebrow{
    display:inline-flex;

    align-items:center;

    gap:.6rem;

    margin-bottom:1.5rem;

    padding:.55rem .9rem;

    border:
        1px solid
        rgba(198,144,46,.22);

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

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

    color:var(--color-primary);

    font-size:var(--text-xs);

    font-weight:var(--fw-bold);

    letter-spacing:.13em;

    text-transform:uppercase;

    box-shadow:
        0 8px 25px
        rgba(15,45,82,.04);
}


.how-it-works .section-eyebrow::before{
    content:"";

    width:7px;
    height:7px;

    flex-shrink:0;

    border-radius:50%;

    background:var(--color-highlight);

    box-shadow:
        0 0 0 5px
        rgba(232,135,30,.1);
}


.how-it-works__heading-row{
    display:grid;

    grid-template-columns:
        minmax(0,1.2fr)
        minmax(300px,.8fr);

    align-items:end;

    gap:clamp(3rem,7vw,7rem);
}


.how-it-works__title{
    max-width:760px;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(2.8rem,4.5vw,5rem);

    font-weight:var(--fw-extrabold);

    line-height:1.02;

    letter-spacing:-.05em;
}


.how-it-works__title span{
    display:block;

    margin-top:.35rem;

    background:
        linear-gradient(
            110deg,
            var(--color-accent) 5%,
            var(--color-highlight) 58%,
            var(--color-accent-light) 100%
        );

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}


.how-it-works__intro{
    max-width:470px;

    padding-bottom:.4rem;

    color:var(--text-body);

    font-size:1.05rem;

    line-height:1.8;
}


/*======================================
  PROCESS JOURNEY
======================================*/

.how-it-works__journey{
    position:relative;

    display:grid;

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

    gap:0;

    margin-bottom:4rem;
}


/*
  Connecting journey line
*/

.how-it-works__journey::before{
    content:"";

    position:absolute;

    top:52px;
    left:8%;
    right:8%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(198,144,46,.12),
            rgba(198,144,46,.5),
            rgba(232,135,30,.5),
            rgba(198,144,46,.12)
        );

    pointer-events:none;
}


/*======================================
  PROCESS STEP
======================================*/

.process-step{
    position:relative;

    padding:
        0
        clamp(1.5rem,3vw,3rem);

    z-index:1;
}


.process-step:first-child{
    padding-left:0;
}


.process-step:last-child{
    padding-right:0;
}


/*======================================
  PROCESS STEP TOP
======================================*/

.process-step__top{
    position:relative;

    display:flex;

    align-items:center;

    justify-content:space-between;

    height:104px;

    margin-bottom:1.5rem;
}


.process-step__number{
    color:
        rgba(15,45,82,.25);

    font-family:var(--font-heading);

    font-size:
        clamp(3.5rem,5vw,5.5rem);

    font-weight:var(--fw-extrabold);

    line-height:1;

    letter-spacing:-.06em;

    transition:
        color var(--transition-base);
}


.process-step:hover
.process-step__number{
    color:
        rgba(198,144,46,.42);
}


.process-step__dot{
    position:absolute;

    top:50%;
    right:0;

    width:14px;
    height:14px;

    border:
        3px solid
        #faf7f1;

    border-radius:50%;

    background:
        var(--color-accent);

    box-shadow:
        0 0 0 1px
        rgba(198,144,46,.25),

        0 0 0 7px
        rgba(198,144,46,.08);

    transform:
        translateY(-50%);

    transition:
        transform var(--transition-base),
        box-shadow var(--transition-base),
        background var(--transition-base);
}


.process-step:hover
.process-step__dot{
    background:
        var(--color-highlight);

    box-shadow:
        0 0 0 1px
        rgba(232,135,30,.3),

        0 0 0 10px
        rgba(232,135,30,.1);

    transform:
        translateY(-50%)
        scale(1.12);
}


/*======================================
  PROCESS STEP CONTENT
======================================*/

.process-step__content{
    position:relative;

    padding-top:1.5rem;

    border-top:
        1px solid
        rgba(15,45,82,.1);
}


.process-step__label{
    display:inline-block;

    margin-bottom:.8rem;

    color:var(--color-accent);

    font-size:.72rem;

    font-weight:var(--fw-bold);

    letter-spacing:.13em;

    text-transform:uppercase;
}


.process-step__content h3{
    max-width:330px;

    margin-bottom:.9rem;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(1.45rem,2vw,1.9rem);

    font-weight:var(--fw-bold);

    line-height:1.2;

    letter-spacing:-.03em;

    transition:
        color var(--transition-fast);
}


.process-step:hover
.process-step__content h3{
    color:var(--color-accent);
}


.process-step__content p{
    max-width:340px;

    color:var(--text-body);

    font-size:.93rem;

    line-height:1.72;
}


/*======================================
  HOW IT WORKS CTA
======================================*/

.how-it-works__cta{
    position:relative;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:3rem;

    padding:
        2rem
        2.25rem;

    overflow:hidden;

    border:
        1px solid
        rgba(15,45,82,.08);

    border-radius:24px;

    background:
        linear-gradient(
            120deg,
            rgba(255,255,255,.8),
            rgba(255,250,242,.7)
        );

    box-shadow:
        0 18px 50px
        rgba(15,45,82,.065),

        inset 0 1px 0
        rgba(255,255,255,.9);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}


.how-it-works__cta::before{
    content:"";

    position:absolute;

    width:190px;
    height:190px;

    top:-120px;
    right:12%;

    border-radius:50%;

    background:
        rgba(232,135,30,.08);

    pointer-events:none;
}


.how-it-works__cta-content{
    position:relative;

    z-index:1;
}


.how-it-works__cta-content span{
    display:block;

    margin-bottom:.35rem;

    color:var(--color-accent);

    font-size:.72rem;

    font-weight:var(--fw-bold);

    letter-spacing:.12em;

    text-transform:uppercase;
}


.how-it-works__cta-content p{
    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(1.25rem,2vw,1.65rem);

    font-weight:var(--fw-semibold);

    line-height:1.35;

    letter-spacing:-.02em;
}


.how-it-works__cta .btn{
    position:relative;

    flex-shrink:0;

    z-index:1;
}


/*======================================
  HOW IT WORKS RESPONSIVE
======================================*/

@media (max-width:900px){

    .how-it-works{
        padding:
            calc(var(--section-padding) * .75)
            0;
    }


    .how-it-works__header{
        margin-bottom:3.75rem;
    }


    .how-it-works__heading-row{
        grid-template-columns:1fr;

        align-items:start;

        gap:1.5rem;
    }


    .how-it-works__intro{
        max-width:620px;
    }


    .how-it-works__journey{
        grid-template-columns:1fr;

        gap:0;

        margin-bottom:3rem;
    }


    .how-it-works__journey::before{
        top:0;
        bottom:0;
        left:31px;
        right:auto;

        width:1px;
        height:auto;

        background:
            linear-gradient(
                180deg,
                rgba(198,144,46,.1),
                rgba(198,144,46,.5),
                rgba(232,135,30,.45),
                rgba(198,144,46,.1)
            );
    }


    .process-step,
    .process-step:first-child,
    .process-step:last-child{
        display:grid;

        grid-template-columns:
            64px
            minmax(0,1fr);

        gap:1.5rem;

        padding:
            0
            0
            2.5rem;
    }


    .process-step:last-child{
        padding-bottom:0;
    }


    .process-step__top{
        display:flex;

        width:64px;
        height:auto;

        align-items:flex-start;

        justify-content:center;

        margin:0;
    }


    .process-step__number{
        position:relative;

        padding-top:.15rem;

        font-size:1rem;

        color:var(--color-accent);

        z-index:2;
    }


    .process-step__dot{
        top:2.6rem;
        right:auto;
        left:24px;

        transform:none;
    }


    .process-step:hover
    .process-step__dot{
        transform:scale(1.12);
    }


    .process-step__content{
        padding:
            0
            0
            2.5rem;

        border-top:none;

        border-bottom:
            1px solid
            rgba(15,45,82,.1);
    }


    .process-step:last-child
    .process-step__content{
        border-bottom:none;

        padding-bottom:0;
    }


    .process-step__content h3,
    .process-step__content p{
        max-width:600px;
    }

}


@media (max-width:650px){

    .how-it-works{
        padding:
            4.5rem
            0;
    }


    .how-it-works__header{
        margin-bottom:3rem;
    }


    .how-it-works__title{
        font-size:
            clamp(2.45rem,11vw,3.5rem);
    }


    .how-it-works__intro{
        font-size:.98rem;

        line-height:1.72;
    }


    .process-step,
    .process-step:first-child,
    .process-step:last-child{
        grid-template-columns:
            48px
            minmax(0,1fr);

        gap:1rem;
    }


    .how-it-works__journey::before{
        left:23px;
    }


    .process-step__top{
        width:48px;
    }


    .process-step__dot{
        left:16px;
    }


    .process-step__content h3{
        font-size:1.45rem;
    }


    .process-step__content p{
        font-size:.9rem;
    }


    .how-it-works__cta{
        flex-direction:column;

        align-items:flex-start;

        gap:1.5rem;

        padding:
            1.6rem
            1.5rem;

        border-radius:20px;
    }


    .how-it-works__cta .btn{
        width:100%;

        justify-content:center;
    }

}


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

    .process-step__number,
    .process-step__dot,
    .process-step__content h3{
        transition:none;
    }

}

/*======================================
  CLIENT TRUST / TESTIMONIALS
======================================*/

.client-trust{
    position:relative;

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

    overflow:hidden;

    background:
        radial-gradient(
            circle at 8% 22%,
            rgba(198,144,46,.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 78%,
            rgba(15,45,82,.055),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #fffdf8 0%,
            var(--bg-body) 52%,
            #f8f2e9 100%
        );

    isolation:isolate;
}


.client-trust::before{
    content:"";

    position:absolute;

    width:480px;
    height:480px;

    top:-260px;
    left:-210px;

    border:
        1px solid
        rgba(198,144,46,.1);

    border-radius:50%;

    box-shadow:
        0 0 0 65px
        rgba(198,144,46,.025),

        0 0 0 130px
        rgba(15,45,82,.018);

    pointer-events:none;

    z-index:-1;
}


.client-trust::after{
    content:"";

    position:absolute;

    width:320px;
    height:320px;

    right:-170px;
    bottom:-150px;

    border-radius:50%;

    background:
        rgba(232,135,30,.045);

    pointer-events:none;

    z-index:-1;
}


/*======================================
  CLIENT TRUST HEADER
======================================*/

.client-trust__header{
    margin-bottom:4.5rem;
}


.client-trust .section-eyebrow{
    display:inline-flex;

    align-items:center;

    gap:.6rem;

    margin-bottom:1.5rem;

    padding:.55rem .9rem;

    border:
        1px solid
        rgba(198,144,46,.22);

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

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

    color:var(--color-primary);

    font-size:var(--text-xs);

    font-weight:var(--fw-bold);

    letter-spacing:.13em;

    text-transform:uppercase;

    box-shadow:
        0 8px 25px
        rgba(15,45,82,.04);
}


.client-trust .section-eyebrow::before{
    content:"";

    width:7px;
    height:7px;

    flex-shrink:0;

    border-radius:50%;

    background:
        var(--color-highlight);

    box-shadow:
        0 0 0 5px
        rgba(232,135,30,.1);
}


.client-trust__heading-row{
    display:grid;

    grid-template-columns:
        minmax(0,1.2fr)
        minmax(300px,.8fr);

    align-items:end;

    gap:clamp(3rem,7vw,7rem);
}


.client-trust__title{
    max-width:720px;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(2.8rem,4.5vw,5rem);

    font-weight:var(--fw-extrabold);

    line-height:1.02;

    letter-spacing:-.05em;
}


.client-trust__title span{
    display:block;

    margin-top:.35rem;

    background:
        linear-gradient(
            110deg,
            var(--color-accent) 5%,
            var(--color-highlight) 58%,
            var(--color-accent-light) 100%
        );

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}


.client-trust__intro{
    max-width:470px;

    padding-bottom:.4rem;

    color:var(--text-body);

    font-size:1.05rem;

    line-height:1.8;
}


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

.client-trust__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(380px,.92fr);

    gap:1.25rem;

    align-items:stretch;
}


/*======================================
  FEATURED TESTIMONIAL
======================================*/

.testimonial-featured{
    position:relative;

    display:flex;

    min-height:500px;

    flex-direction:column;

    padding:
        clamp(2rem,4vw,3.5rem);

    overflow:hidden;

    border-radius:30px;

    background:
        linear-gradient(
            135deg,
            var(--color-primary) 0%,
            #173a62 58%,
            #1b426a 100%
        );

    box-shadow:
        0 28px 70px
        rgba(15,45,82,.16);

    color:#fff;

    isolation:isolate;
}


.testimonial-featured::before{
    content:"";

    position:absolute;

    width:320px;
    height:320px;

    top:-190px;
    right:-100px;

    border-radius:50%;

    background:
        rgba(232,135,30,.16);

    box-shadow:
        0 0 0 65px
        rgba(198,144,46,.045);

    pointer-events:none;

    z-index:-1;
}


.testimonial-featured::after{
    content:"";

    position:absolute;

    width:220px;
    height:220px;

    left:-120px;
    bottom:-120px;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:50%;

    box-shadow:
        0 0 0 45px
        rgba(255,255,255,.018);

    pointer-events:none;

    z-index:-1;
}


/*======================================
  FEATURED TESTIMONIAL TOP
======================================*/

.testimonial-featured__top{
    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:2rem;

    margin-bottom:auto;
}


.testimonial-featured__quote{
    color:
        rgba(232,135,30,.88);

    font-family:Georgia, serif;

    font-size:6.5rem;

    font-weight:700;

    line-height:.7;
}


.testimonial-featured__label{
    display:inline-flex;

    align-items:center;

    padding:.5rem .8rem;

    border:
        1px solid
        rgba(255,255,255,.14);

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

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

    color:
        rgba(255,255,255,.78);

    font-size:.68rem;

    font-weight:var(--fw-bold);

    letter-spacing:.09em;

    text-transform:uppercase;

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}


/*======================================
  FEATURED QUOTE
======================================*/

.testimonial-featured blockquote{
    max-width:680px;

    margin:
        3rem
        0
        2.5rem;

    color:#fff;

    font-family:var(--font-heading);

    font-size:
        clamp(1.65rem,2.6vw,2.45rem);

    font-weight:var(--fw-semibold);

    line-height:1.38;

    letter-spacing:-.035em;
}


/*======================================
  FEATURED AUTHOR
======================================*/

.testimonial-featured__author{
    display:flex;

    align-items:center;

    gap:.9rem;
}


.testimonial-avatar{
    display:grid;

    width:48px;
    height:48px;

    flex-shrink:0;

    place-items:center;

    border:
        1px solid
        rgba(255,255,255,.16);

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            rgba(198,144,46,.85),
            rgba(232,135,30,.92)
        );

    color:#fff;

    font-family:var(--font-heading);

    font-size:1rem;

    font-weight:var(--fw-bold);

    box-shadow:
        0 8px 22px
        rgba(0,0,0,.12);
}


.testimonial-featured__author > div:last-child{
    display:flex;

    flex-direction:column;

    gap:.2rem;
}


.testimonial-featured__author strong{
    color:#fff;

    font-size:.9rem;

    font-weight:var(--fw-bold);
}


.testimonial-featured__author span{
    color:
        rgba(255,255,255,.62);

    font-size:.78rem;
}


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

.client-trust__supporting{
    display:grid;

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

    gap:1.25rem;
}


.testimonial-small{
    position:relative;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    min-height:0;

    padding:2rem;

    overflow:hidden;

    border:
        1px solid
        rgba(15,45,82,.08);

    border-radius:26px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.82),
            rgba(249,245,238,.74)
        );

    box-shadow:
        0 18px 50px
        rgba(15,45,82,.065),

        inset 0 1px 0
        rgba(255,255,255,.9);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    transition:
        transform var(--transition-base),
        border-color var(--transition-base),
        box-shadow var(--transition-base);
}


.testimonial-small::before{
    content:"";

    position:absolute;

    width:150px;
    height:150px;

    top:-90px;
    right:-60px;

    border-radius:50%;

    background:
        rgba(198,144,46,.065);

    pointer-events:none;
}


.testimonial-small:hover{
    transform:translateY(-5px);

    border-color:
        rgba(198,144,46,.2);

    box-shadow:
        0 25px 60px
        rgba(15,45,82,.09),

        inset 0 1px 0
        rgba(255,255,255,.95);
}


/*======================================
  SMALL TESTIMONIAL TOP
======================================*/

.testimonial-small__top{
    position:relative;

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:1rem;

    margin-bottom:1.5rem;

    z-index:1;
}


.testimonial-small__quote{
    color:
        rgba(198,144,46,.7);

    font-family:Georgia, serif;

    font-size:3.5rem;

    font-weight:700;

    line-height:.7;
}


.testimonial-small__label{
    display:inline-flex;

    padding:.4rem .7rem;

    border:
        1px solid
        rgba(198,144,46,.16);

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

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

    color:var(--color-primary);

    font-size:.64rem;

    font-weight:var(--fw-bold);

    letter-spacing:.07em;

    text-transform:uppercase;
}


/*======================================
  SMALL TESTIMONIAL QUOTE
======================================*/

.testimonial-small blockquote{
    position:relative;

    max-width:520px;

    margin:
        0
        0
        1.75rem;

    color:var(--text-heading);

    font-family:var(--font-heading);

    font-size:
        clamp(1.15rem,1.6vw,1.4rem);

    font-weight:var(--fw-semibold);

    line-height:1.5;

    letter-spacing:-.02em;

    z-index:1;
}


/*======================================
  SMALL TESTIMONIAL AUTHOR
======================================*/

.testimonial-small__author{
    position:relative;

    display:flex;

    align-items:center;

    gap:.55rem;

    padding-top:1.1rem;

    border-top:
        1px solid
        rgba(15,45,82,.08);

    z-index:1;
}


.testimonial-small__author strong{
    color:var(--color-primary);

    font-size:.82rem;

    font-weight:var(--fw-bold);
}


.testimonial-small__author span{
    display:flex;

    align-items:center;

    gap:.55rem;

    color:var(--text-muted);

    font-size:.75rem;
}


.testimonial-small__author span::before{
    content:"";

    width:3px;
    height:3px;

    border-radius:50%;

    background:
        rgba(198,144,46,.7);
}


/*======================================
  TRUST STATEMENT
======================================*/

.client-trust__statement{
    display:grid;

    grid-template-columns:
        minmax(40px,1fr)
        auto
        minmax(40px,1fr);

    align-items:center;

    gap:1.5rem;

    margin-top:3.5rem;
}


.client-trust__statement-line{
    width:100%;
    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(198,144,46,.25)
        );
}


.client-trust__statement-line:last-child{
    background:
        linear-gradient(
            90deg,
            rgba(198,144,46,.25),
            transparent
        );
}


.client-trust__statement p{
    max-width:600px;

    color:var(--text-muted);

    font-size:.85rem;

    font-weight:var(--fw-medium);

    letter-spacing:.025em;

    text-align:center;
}


/*======================================
  CLIENT TRUST RESPONSIVE
======================================*/

@media (max-width:950px){

    .client-trust__heading-row{
        gap:3rem;
    }


    .client-trust__grid{
        grid-template-columns:
            minmax(0,1fr)
            minmax(330px,.8fr);
    }


    .testimonial-featured{
        min-height:470px;
    }

}


@media (max-width:800px){

    .client-trust{
        padding:
            calc(var(--section-padding) * .75)
            0;
    }


    .client-trust__header{
        margin-bottom:3rem;
    }


    .client-trust__heading-row{
        grid-template-columns:1fr;

        align-items:start;

        gap:1.5rem;
    }


    .client-trust__intro{
        max-width:620px;
    }


    .client-trust__grid{
        grid-template-columns:1fr;
    }


    .testimonial-featured{
        min-height:460px;
    }


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

        grid-template-rows:auto;
    }

}


@media (max-width:650px){

    .client-trust{
        padding:
            4.5rem
            0;
    }


    .client-trust__header{
        margin-bottom:2.5rem;
    }


    .client-trust__title{
        font-size:
            clamp(2.45rem,11vw,3.5rem);
    }


    .client-trust__intro{
        font-size:.98rem;

        line-height:1.72;
    }


    .testimonial-featured{
        min-height:440px;

        padding:1.75rem;

        border-radius:24px;
    }


    .testimonial-featured__quote{
        font-size:5rem;
    }


    .testimonial-featured blockquote{
        margin:
            2.5rem
            0
            2rem;

        font-size:
            clamp(1.45rem,6vw,1.9rem);
    }


    .client-trust__supporting{
        grid-template-columns:1fr;
    }


    .testimonial-small{
        padding:1.5rem;

        border-radius:22px;
    }


    .client-trust__statement{
        grid-template-columns:
            minmax(20px,1fr)
            minmax(0,auto)
            minmax(20px,1fr);

        gap:.8rem;

        margin-top:2.5rem;
    }


    .client-trust__statement p{
        max-width:260px;

        font-size:.76rem;
    }

}


@media (max-width:400px){

    .testimonial-featured__top{
        flex-direction:column;

        gap:1rem;
    }


    .testimonial-featured{
        min-height:auto;
    }


    .testimonial-featured blockquote{
        margin-top:2rem;
    }


    .client-trust__statement{
        display:block;
    }


    .client-trust__statement-line{
        display:none;
    }

}


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

    .testimonial-small{
        transition:none;
    }

}

/*======================================
  FINAL CTA / START A CONVERSATION
======================================*/

.final-cta{
    position:relative;

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

    overflow:hidden;

    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(198,144,46,.07),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 82%,
            rgba(232,135,30,.055),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #f4ede3 0%,
            #faf7f1 48%,
            #f7f0e6 100%
        );

    isolation:isolate;
}


.final-cta::before{
    content:"";

    position:absolute;

    width:460px;
    height:460px;

    top:-250px;
    left:-190px;

    border:
        1px solid
        rgba(198,144,46,.1);

    border-radius:50%;

    box-shadow:
        0 0 0 65px
        rgba(198,144,46,.025),

        0 0 0 130px
        rgba(15,45,82,.018);

    pointer-events:none;

    z-index:-1;
}


/*======================================
  FINAL CTA PANEL
======================================*/

.final-cta__panel{
    position:relative;

    display:grid;

    grid-template-columns:
        minmax(0,1.12fr)
        minmax(390px,.88fr);

    align-items:center;

    min-height:590px;

    gap:clamp(3rem,6vw,6rem);

    padding:
        clamp(3rem,6vw,5.5rem);

    overflow:hidden;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:36px;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(232,135,30,.13),
            transparent 28%
        ),
        radial-gradient(
            circle at 65% 90%,
            rgba(198,144,46,.08),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #0f2d52 0%,
            #132f50 50%,
            #183a5f 100%
        );

    box-shadow:
        0 35px 90px
        rgba(15,45,82,.18),

        inset 0 1px 0
        rgba(255,255,255,.06);

    isolation:isolate;
}


.final-cta__panel::before{
    content:"";

    position:absolute;

    width:520px;
    height:520px;

    top:-300px;
    right:-190px;

    border:
        1px solid
        rgba(255,255,255,.07);

    border-radius:50%;

    box-shadow:
        0 0 0 70px
        rgba(255,255,255,.018),

        0 0 0 140px
        rgba(198,144,46,.025);

    pointer-events:none;

    z-index:-1;
}


.final-cta__panel::after{
    content:"";

    position:absolute;

    width:340px;
    height:340px;

    left:-190px;
    bottom:-200px;

    border-radius:50%;

    background:
        rgba(232,135,30,.07);

    pointer-events:none;

    z-index:-1;
}


/*======================================
  DECORATIVE ORBS
======================================*/

.final-cta__orb{
    position:absolute;

    border-radius:50%;

    pointer-events:none;
}


.final-cta__orb--one{
    width:12px;
    height:12px;

    top:14%;
    left:48%;

    background:
        var(--color-highlight);

    box-shadow:
        0 0 0 7px
        rgba(232,135,30,.08),

        0 8px 24px
        rgba(232,135,30,.3);
}


.final-cta__orb--two{
    width:7px;
    height:7px;

    left:42%;
    bottom:17%;

    background:
        var(--color-accent);

    box-shadow:
        0 0 0 6px
        rgba(198,144,46,.07);
}


/*======================================
  FINAL CTA CONTENT
======================================*/

.final-cta__content{
    position:relative;

    max-width:680px;

    z-index:3;
}


.final-cta__eyebrow{
    display:inline-flex;

    align-items:center;

    gap:.6rem;

    margin-bottom:1.5rem;

    padding:.55rem .9rem;

    border:
        1px solid
        rgba(255,255,255,.13);

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

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

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

    font-size:var(--text-xs);

    font-weight:var(--fw-bold);

    letter-spacing:.13em;

    text-transform:uppercase;

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}


.final-cta__eyebrow::before{
    content:"";

    width:7px;
    height:7px;

    flex-shrink:0;

    border-radius:50%;

    background:
        var(--color-highlight);

    box-shadow:
        0 0 0 5px
        rgba(232,135,30,.12);
}


/*======================================
  FINAL CTA TITLE
======================================*/

.final-cta__title{
    max-width:720px;

    margin-bottom:1.5rem;

    color:#fff;

    font-family:var(--font-heading);

    font-size:
        clamp(2.8rem,4.5vw,5rem);

    font-weight:var(--fw-extrabold);

    line-height:1.02;

    letter-spacing:-.05em;
}


.final-cta__title span{
    display:block;

    margin-top:.35rem;

    background:
        linear-gradient(
            110deg,
            #e2b45d 5%,
            #f29a3a 58%,
            #d6a24a 100%
        );

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}


/*======================================
  FINAL CTA DESCRIPTION
======================================*/

.final-cta__description{
    max-width:610px;

    margin-bottom:2rem;

    color:
        rgba(255,255,255,.68);

    font-size:1.02rem;

    line-height:1.8;
}


/*======================================
  FINAL CTA ACTIONS
======================================*/

.final-cta__actions{
    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:1rem;
}


.final-cta__primary{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:.65rem;

    min-height:54px;

    padding-inline:1.5rem;

    border:
        1px solid
        rgba(232,135,30,.3);

    background:
        linear-gradient(
            135deg,
            var(--color-highlight),
            var(--color-accent)
        );

    color:#fff;

    box-shadow:
        0 12px 30px
        rgba(232,135,30,.2);

    transition:
        transform var(--transition-fast),
        box-shadow var(--transition-fast);
}


.final-cta__primary:hover{
    transform:translateY(-2px);

    box-shadow:
        0 18px 38px
        rgba(232,135,30,.28);
}


.final-cta__primary span{
    transition:
        transform var(--transition-fast);
}


.final-cta__primary:hover span{
    transform:translateX(4px);
}


.final-cta__secondary{
    display:inline-flex;

    align-items:center;

    gap:.55rem;

    min-height:54px;

    padding:
        .8rem
        1rem;

    color:
        rgba(255,255,255,.8);

    font-size:.9rem;

    font-weight:var(--fw-semibold);

    transition:
        color var(--transition-fast);
}


.final-cta__secondary span{
    transition:
        transform var(--transition-fast);
}


.final-cta__secondary:hover{
    color:#fff;
}


.final-cta__secondary:hover span{
    transform:
        translate(2px,-2px);
}


/*======================================
  FINAL CTA VISUAL
======================================*/

.final-cta__visual{
    position:relative;

    display:grid;

    width:100%;

    max-width:440px;

    aspect-ratio:1 / 1;

    place-items:center;

    justify-self:end;

    z-index:2;
}


/*======================================
  CTA ORBITS
======================================*/

.final-cta__orbit{
    position:absolute;

    border-radius:50%;

    pointer-events:none;
}


.final-cta__orbit--outer{
    width:100%;
    height:100%;

    border:
        1px solid
        rgba(255,255,255,.09);

    animation:
        finalCtaOrbitRotate
        36s linear infinite;
}


.final-cta__orbit--outer::before{
    content:"";

    position:absolute;

    width:72%;
    height:72%;

    top:14%;
    left:14%;

    border:
        1px dashed
        rgba(198,144,46,.14);

    border-radius:50%;
}


.final-cta__orbit--inner{
    width:62%;
    height:62%;

    border:
        1px solid
        rgba(198,144,46,.17);

    box-shadow:
        0 0 60px
        rgba(232,135,30,.04);

    animation:
        finalCtaOrbitRotateReverse
        28s linear infinite;
}


.final-cta__orbit-dot{
    position:absolute;

    width:12px;
    height:12px;

    top:16%;
    right:9%;

    border-radius:50%;

    background:
        var(--color-highlight);

    box-shadow:
        0 0 0 7px
        rgba(232,135,30,.1),

        0 6px 20px
        rgba(232,135,30,.35);
}


/*======================================
  CTA CENTER
======================================*/

.final-cta__center{
    position:relative;

    display:flex;

    width:48%;
    height:48%;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:.65rem;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255,255,255,.1),
            rgba(255,255,255,.035) 55%,
            rgba(255,255,255,.02)
        );

    box-shadow:
        0 25px 65px
        rgba(0,0,0,.16),

        inset 0 1px 0
        rgba(255,255,255,.08);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    z-index:3;
}


.final-cta__center::before{
    content:"";

    position:absolute;

    width:78%;
    height:78%;

    border:
        1px solid
        rgba(198,144,46,.12);

    border-radius:50%;

    pointer-events:none;
}


.final-cta__center-mark{
    position:relative;

    background:
        linear-gradient(
            135deg,
            #e4b75f,
            #f09a38
        );

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    font-family:var(--font-heading);

    font-size:
        clamp(2.5rem,4vw,4rem);

    font-weight:var(--fw-extrabold);

    line-height:1;

    letter-spacing:-.07em;

    z-index:1;
}


.final-cta__center-text{
    position:relative;

    color:
        rgba(255,255,255,.55);

    font-size:.62rem;

    font-weight:var(--fw-semibold);

    letter-spacing:.08em;

    text-align:center;

    text-transform:uppercase;

    z-index:1;
}


/*======================================
  CTA SIGNALS
======================================*/

.final-cta__signal{
    position:absolute;

    display:flex;

    align-items:center;

    gap:.55rem;

    min-width:115px;

    padding:
        .65rem
        .8rem;

    border:
        1px solid
        rgba(255,255,255,.11);

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

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

    box-shadow:
        0 14px 35px
        rgba(0,0,0,.12);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

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

    font-size:.72rem;

    font-weight:var(--fw-semibold);

    z-index:4;
}


.final-cta__signal span{
    display:grid;

    width:25px;
    height:25px;

    flex-shrink:0;

    place-items:center;

    border-radius:50%;

    background:
        rgba(198,144,46,.13);

    color:#e3b45b;

    font-size:.6rem;

    font-weight:var(--fw-bold);
}


.final-cta__signal--business{
    top:12%;
    left:-3%;

    animation:
        finalCtaFloatOne
        5.5s ease-in-out infinite;
}


.final-cta__signal--tax{
    top:46%;
    right:-7%;

    animation:
        finalCtaFloatTwo
        6s ease-in-out infinite;
}


.final-cta__signal--wealth{
    left:4%;
    bottom:10%;

    animation:
        finalCtaFloatThree
        6.5s ease-in-out infinite;
}


/*======================================
  FINAL CTA ANIMATIONS
======================================*/

@keyframes finalCtaOrbitRotate{

    from{
        transform:rotate(0);
    }

    to{
        transform:rotate(360deg);
    }

}


@keyframes finalCtaOrbitRotateReverse{

    from{
        transform:rotate(360deg);
    }

    to{
        transform:rotate(0);
    }

}


@keyframes finalCtaFloatOne{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-8px);
    }

}


@keyframes finalCtaFloatTwo{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(8px);
    }

}


@keyframes finalCtaFloatThree{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-7px);
    }

}


/*======================================
  FINAL CTA RESPONSIVE
======================================*/

@media (max-width:1050px){

    .final-cta__panel{
        grid-template-columns:
            minmax(0,1fr)
            minmax(330px,.75fr);

        gap:3rem;

        padding:
            clamp(3rem,5vw,4.5rem);
    }


    .final-cta__visual{
        max-width:370px;
    }


    .final-cta__title{
        font-size:
            clamp(2.7rem,4.5vw,4.2rem);
    }

}


@media (max-width:850px){

    .final-cta{
        padding:
            calc(var(--section-padding) * .75)
            0;
    }


    .final-cta__panel{
        grid-template-columns:1fr;

        min-height:auto;

        gap:3.5rem;

        padding:
            3.5rem
            3rem;
    }


    .final-cta__content{
        max-width:680px;
    }


    .final-cta__visual{
        width:min(100%,430px);

        justify-self:center;
    }

}


@media (max-width:600px){

    .final-cta{
        padding:
            4.5rem
            0;
    }


    .final-cta__panel{
        gap:3rem;

        padding:
            2.5rem
            1.5rem;

        border-radius:26px;
    }


    .final-cta__title{
        font-size:
            clamp(2.45rem,11vw,3.5rem);
    }


    .final-cta__description{
        font-size:.98rem;

        line-height:1.72;
    }


    .final-cta__actions{
        flex-direction:column;

        align-items:stretch;
    }


    .final-cta__primary,
    .final-cta__secondary{
        width:100%;

        justify-content:center;
    }


    .final-cta__visual{
        max-width:340px;
    }


    .final-cta__signal{
        min-width:100px;

        padding:
            .5rem
            .6rem;

        font-size:.65rem;
    }


    .final-cta__signal span{
        width:22px;
        height:22px;

        font-size:.55rem;
    }


    .final-cta__signal--business{
        left:0;
    }


    .final-cta__signal--tax{
        right:0;
    }


    .final-cta__signal--wealth{
        left:2%;
    }

}


@media (max-width:400px){

    .final-cta__panel{
        padding:
            2.25rem
            1.25rem;
    }


    .final-cta__visual{
        max-width:290px;
    }


    .final-cta__center{
        width:52%;
        height:52%;
    }


    .final-cta__signal{
        min-width:auto;
    }


    .final-cta__signal span{
        display:none;
    }

}


/*======================================
  FINAL CTA REDUCED MOTION
======================================*/

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

    .final-cta__orbit,
    .final-cta__signal{
        animation:none;
    }


    .final-cta__primary,
    .final-cta__primary span,
    .final-cta__secondary,
    .final-cta__secondary span{
        transition:none;
    }

}

