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

.services-hero{
    position:relative;

    min-height:100vh;

    display:flex;
    align-items:center;

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

    overflow:hidden;

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

    isolation:isolate;
}


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

    position:absolute;

    width:540px;
    height:540px;

    top:3%;
    right:-210px;

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

    border-radius:50%;

    box-shadow:
        0 0 0 75px
        rgba(198,144,46,.028),

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

    pointer-events:none;

    z-index:-1;
}


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

    position:absolute;

    width:340px;
    height:340px;

    left:-180px;
    bottom:-150px;

    border-radius:50%;

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

    pointer-events:none;

    z-index:-1;
}


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

.services-hero__grid{
    display:grid;

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

    align-items:center;

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


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

.services-hero__content{
    position:relative;

    max-width:760px;

    z-index:3;
}


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

.services-hero__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);

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

    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:.13em;

    text-transform:uppercase;
}


.services-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,.1);
}


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

.services-hero__title{
    max-width:800px;

    margin-bottom:1.6rem;

    color:var(--text-heading);

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

    font-size:
        clamp(3.4rem,5.2vw,5.6rem);

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

    line-height:.99;

    letter-spacing:-.055em;
}


.services-hero__title span{
    display:block;

    margin-top:.45rem;

    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;
}


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

.services-hero__description{
    max-width:650px;

    margin-bottom:2rem;

    color:var(--text-body);

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

    line-height:1.82;
}


/*======================================
  SERVICES HERO LINK
======================================*/

.services-hero__link{
    display:inline-flex;

    align-items:center;

    gap:.7rem;

    padding:
        .75rem
        0;

    color:var(--color-primary);

    font-size:.9rem;

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

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


.services-hero__link span{
    display:grid;

    width:34px;
    height:34px;

    place-items:center;

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

    border-radius:50%;

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

    color:var(--color-highlight);

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

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


.services-hero__link:hover{
    color:var(--color-accent);
}


.services-hero__link:hover span{
    transform:translateY(4px);

    background:var(--color-primary);

    color:#fff;
}


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

.services-hero__visual{
    position:relative;

    display:grid;

    width:100%;

    max-width:470px;

    aspect-ratio:1 / 1;

    place-items:center;

    justify-self:end;

    z-index:2;
}


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

.services-hero__orbit{
    position:absolute;

    border-radius:50%;

    pointer-events:none;
}


.services-hero__orbit--outer{
    width:100%;
    height:100%;

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

    box-shadow:
        0 0 60px
        rgba(15,45,82,.025);

    animation:
        servicesHeroOrbit
        38s linear infinite;
}


.services-hero__orbit--outer::before{
    content:"";

    position:absolute;

    width:13px;
    height:13px;

    top:15%;
    right:8%;

    border-radius:50%;

    background:
        var(--color-highlight);

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

        0 8px 22px
        rgba(232,135,30,.25);
}


.services-hero__orbit--outer::after{
    content:"";

    position:absolute;

    width:8px;
    height:8px;

    left:7%;
    bottom:22%;

    border-radius:50%;

    background:
        var(--color-accent);

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


.services-hero__orbit--inner{
    width:67%;
    height:67%;

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

    animation:
        servicesHeroOrbitReverse
        30s linear infinite;
}


/*======================================
  SERVICES HERO CENTER
======================================*/

.services-hero__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,.75);

    border-radius:50%;

    background:
        radial-gradient(
            circle at 35% 28%,
            rgba(255,255,255,.96),
            rgba(255,250,242,.82) 58%,
            rgba(245,235,220,.72)
        );

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

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

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

    z-index:3;
}


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

    position:absolute;

    width:78%;
    height:78%;

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

    border-radius:50%;

    pointer-events:none;
}


.services-hero__center-mark{
    position:relative;

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

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

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

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

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

    line-height:1;

    letter-spacing:-.07em;

    z-index:1;
}


.services-hero__center-text{
    position:relative;

    color:
        rgba(15,45,82,.58);

    font-size:.62rem;

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

    letter-spacing:.09em;

    text-align:center;

    text-transform:uppercase;

    z-index:1;
}


/*======================================
  SERVICE SIGNALS
======================================*/

.services-hero__signal{
    position:absolute;

    display:flex;

    align-items:center;

    gap:.55rem;

    min-width:120px;

    padding:
        .65rem
        .8rem;

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

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

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

    box-shadow:
        0 14px 35px
        rgba(15,45,82,.08),

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

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

    color:var(--color-primary);

    font-size:.72rem;

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

    z-index:4;
}


.services-hero__signal span{
    display:grid;

    width:25px;
    height:25px;

    flex-shrink:0;

    place-items:center;

    border-radius:50%;

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

    color:var(--color-accent);

    font-size:.58rem;

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


/*======================================
  SIGNAL POSITIONS
======================================*/

.services-hero__signal--business{
    top:6%;
    left:5%;

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


.services-hero__signal--tax{
    top:20%;
    right:-7%;

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


.services-hero__signal--finance{
    top:50%;
    left:-10%;

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


.services-hero__signal--wealth{
    right:-3%;
    bottom:15%;

    animation:
        servicesHeroFloatOne
        6.2s ease-in-out infinite;
}


.services-hero__signal--digital{
    left:12%;
    bottom:3%;

    animation:
        servicesHeroFloatTwo
        5.8s ease-in-out infinite;
}


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

@keyframes servicesHeroOrbit{

    from{
        transform:rotate(0);
    }

    to{
        transform:rotate(360deg);
    }

}


@keyframes servicesHeroOrbitReverse{

    from{
        transform:rotate(360deg);
    }

    to{
        transform:rotate(0);
    }

}


@keyframes servicesHeroFloatOne{

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

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

}


@keyframes servicesHeroFloatTwo{

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

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

}


@keyframes servicesHeroFloatThree{

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

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

}


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

@media (max-width:1050px){

    .services-hero__grid{
        grid-template-columns:
            minmax(0,1fr)
            minmax(380px,.82fr);

        gap:4rem;
    }


    .services-hero__title{
        font-size:
            clamp(3.1rem,5.3vw,4.8rem);
    }


    .services-hero__visual{
        max-width:410px;
    }

}


@media (max-width:850px){

    .services-hero{
        min-height:auto;

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


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

        gap:4rem;
    }


    .services-hero__content{
        max-width:740px;
    }


    .services-hero__visual{
        width:min(100%,450px);

        justify-self:center;
    }

}


@media (max-width:600px){

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


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

        right:-220px;
    }


    .services-hero__grid{
        gap:3.5rem;
    }


    .services-hero__eyebrow{
        margin-bottom:1.25rem;

        padding:.5rem .8rem;

        font-size:.68rem;

        letter-spacing:.11em;
    }


    .services-hero__title{
        font-size:
            clamp(2.65rem,12vw,3.8rem);

        line-height:1.01;

        letter-spacing:-.05em;
    }


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

        line-height:1.72;
    }


    .services-hero__visual{
        max-width:340px;
    }


    .services-hero__signal{
        min-width:auto;

        padding:
            .52rem
            .65rem;

        font-size:.64rem;
    }


    .services-hero__signal span{
        width:22px;
        height:22px;

        font-size:.52rem;
    }


    .services-hero__signal--business{
        left:0;
    }


    .services-hero__signal--tax{
        right:0;
    }


    .services-hero__signal--finance{
        left:-2%;
    }


    .services-hero__signal--wealth{
        right:0;
    }

}


@media (max-width:400px){

    .services-hero__visual{
        max-width:290px;
    }


    .services-hero__center{
        width:52%;
        height:52%;
    }


    .services-hero__signal span{
        display:none;
    }


    .services-hero__signal--finance{
        left:0;
    }

}


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

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

    .services-hero__orbit,
    .services-hero__signal{
        animation:none;
    }


    .services-hero__link,
    .services-hero__link span{
        transition:none;
    }

}

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

.services-overview{
    position:relative;
    padding:var(--section-padding) 0;
    overflow:hidden;

    background:
        radial-gradient(
            circle at 8% 18%,
            rgba(198,144,46,.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 82%,
            rgba(15,45,82,.055),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #f5eee4 0%,
            #faf7f1 50%,
            #f7f0e6 100%
        );

    isolation:isolate;
}


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

    width:480px;
    height:480px;

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

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

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

    pointer-events:none;
    z-index:-1;
}


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

    width:340px;
    height:340px;

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

    border-radius:50%;

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

    pointer-events:none;
    z-index:-1;
}


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

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


.services-overview__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);

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


.services-overview__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:760px;

    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;
}


.services-overview__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;
}


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

    padding-bottom:.4rem;

    color:var(--text-body);

    font-size:1.02rem;
    line-height:1.8;
}


/*======================================
  SERVICES CAROUSEL
======================================*/

.services-carousel{
    position:relative;
    width:100%;
}


.services-carousel__viewport{
    position:relative;

    width:100%;

    overflow:hidden;

    padding:
        1rem
        0
        2.5rem;
}


.services-carousel__track{
    display:flex;

    align-items:stretch;

    gap:1.5rem;

    width:max-content;

    will-change:transform;
}


/*======================================
  SERVICE SLIDE
======================================*/

.service-slide{
    position:relative;

    display:flex;

    width:
        calc(
            (min(1200px, calc(100vw - 3rem)) - 3rem)
            / 3
        );

    min-height:470px;

    flex:0 0 auto;
    flex-direction:column;

    overflow:hidden;

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

    border-radius:28px;

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

    box-shadow:
        0 18px 50px rgba(15,45,82,.065),
        inset 0 1px 0 rgba(255,255,255,.94);

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

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


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

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

    box-shadow:
        0 30px 70px rgba(15,45,82,.11),
        inset 0 1px 0 rgba(255,255,255,.96);
}


/*======================================
  SERVICE VISUAL AREA
======================================*/

.service-slide__visual{
    position:relative;

    display:flex;

    min-height:190px;

    align-items:flex-start;
    justify-content:space-between;

    padding:1.75rem;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #17395f 0%,
            var(--color-primary) 55%,
            #1d466f 100%
        );

    isolation:isolate;
}


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

    position:absolute;

    width:190px;
    height:190px;

    top:-95px;
    right:-60px;

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

    border-radius:50%;

    box-shadow:
        0 0 0 38px rgba(255,255,255,.025),
        0 0 0 76px rgba(255,255,255,.014);

    pointer-events:none;

    z-index:-1;
}


.service-slide__visual::after{
    content:"";

    position:absolute;

    width:140px;
    height:140px;

    left:-55px;
    bottom:-85px;

    border-radius:50%;

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

    pointer-events:none;

    z-index:-1;
}


/*======================================
  INDIVIDUAL SERVICE VISUALS
======================================*/

.service-slide__visual--business{
    background:
        radial-gradient(
            circle at 82% 20%,
            rgba(232,135,30,.22),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #15375d,
            var(--color-primary)
        );
}


.service-slide__visual--tax{
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(198,144,46,.25),
            transparent 36%
        ),
        linear-gradient(
            135deg,
            #112f52,
            #1b466f
        );
}


.service-slide__visual--finance{
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(232,135,30,.2),
            transparent 36%
        ),
        linear-gradient(
            135deg,
            #173d63,
            #102c4e
        );
}


.service-slide__visual--wealth{
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(198,144,46,.27),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #17385c,
            #214e72
        );
}


.service-slide__visual--retirement{
    background:
        radial-gradient(
            circle at 80% 18%,
            rgba(232,135,30,.2),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #112f50,
            #1c4267
        );
}


.service-slide__visual--loan{
    background:
        radial-gradient(
            circle at 82% 20%,
            rgba(198,144,46,.25),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #173b61,
            #102d4f
        );
}


.service-slide__visual--digital{
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(232,135,30,.23),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #123456,
            #204b70
        );
}


/*======================================
  SERVICE NUMBER
======================================*/

.service-slide__number{
    position:relative;

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

    font-size:.72rem;
    font-weight:var(--fw-bold);

    letter-spacing:.12em;

    z-index:2;
}


/*======================================
  SERVICE ICON
======================================*/

.service-slide__icon{
    position:relative;

    display:grid;

    width:64px;
    height:64px;

    flex-shrink:0;

    place-items:center;

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

    border-radius:20px;

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

    color:#efb24f;

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

    font-size:1.55rem;
    font-weight:var(--fw-extrabold);

    box-shadow:
        0 14px 35px rgba(0,0,0,.08),
        inset 0 1px 0 rgba(255,255,255,.08);

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

    z-index:2;
}


/*======================================
  DECORATIVE GROWTH LINE
======================================*/

.service-slide__visual .service-slide__icon::before{
    content:"";

    position:absolute;

    width:130px;
    height:70px;

    right:48px;
    bottom:-55px;

    border-top:
        1px solid
        rgba(232,135,30,.22);

    border-radius:50%;

    transform:rotate(-12deg);

    pointer-events:none;
}


/*======================================
  SERVICE BODY
======================================*/

.service-slide__body{
    display:flex;

    flex:1;
    flex-direction:column;

    padding:
        1.75rem
        1.75rem
        1.8rem;
}


.service-slide__category{
    display:block;

    margin-bottom:.65rem;

    color:var(--color-accent);

    font-size:.68rem;
    font-weight:var(--fw-bold);

    letter-spacing:.11em;

    text-transform:uppercase;
}


.service-slide__body h3{
    margin-bottom:.9rem;

    color:var(--text-heading);

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

    font-size:clamp(1.4rem,1.8vw,1.75rem);
    font-weight:var(--fw-bold);

    line-height:1.2;
    letter-spacing:-.035em;

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


.service-slide:hover
.service-slide__body h3{
    color:var(--color-accent);
}


.service-slide__body p{
    margin-bottom:1.6rem;

    color:var(--text-body);

    font-size:.9rem;
    line-height:1.72;
}


/*======================================
  SERVICE LINK
======================================*/

.service-slide__link{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:1rem;

    margin-top:auto;

    padding-top:1.15rem;

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

    color:var(--color-primary);

    font-size:.8rem;
    font-weight:var(--fw-bold);

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


.service-slide__link span{
    font-size:1rem;

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


.service-slide__link:hover{
    color:var(--color-accent);
}


.service-slide__link:hover span{
    transform:translateX(4px);
}


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

@media (max-width:1050px){

    .service-slide{
        width:
            calc(
                (100vw - 4.5rem)
                / 2
            );
    }

}


@media (max-width:900px){

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


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


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

        align-items:start;

        gap:1.5rem;
    }


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

}


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

@media (max-width:600px){

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


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


    .services-overview__eyebrow{
        padding:.5rem .8rem;

        font-size:.68rem;
        letter-spacing:.11em;
    }


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


    .services-overview__intro{
        font-size:.98rem;
        line-height:1.72;
    }


    .services-carousel__viewport{
        padding:
            .75rem
            0
            2rem;
    }


    .services-carousel__track{
        gap:1rem;
    }


    .service-slide{
        width:
            calc(100vw - 3rem);

        min-height:440px;

        border-radius:24px;
    }


    .service-slide__visual{
        min-height:165px;

        padding:1.5rem;
    }


    .service-slide__icon{
        width:56px;
        height:56px;

        border-radius:17px;

        font-size:1.35rem;
    }


    .service-slide__body{
        padding:1.5rem;
    }


    .service-slide__body h3{
        font-size:1.5rem;
    }

}


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

@media (max-width:400px){

    .service-slide{
        width:
            calc(100vw - 2rem);
    }


    .service-slide__visual{
        min-height:150px;
    }


    .service-slide__body{
        padding:1.35rem;
    }

}


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

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

    .service-slide,
    .service-slide__body h3,
    .service-slide__link,
    .service-slide__link span{
        transition:none;
    }

}

/*======================================
  CONNECTED ADVICE
======================================*/

.connected-advice{
    position:relative;

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

    overflow:hidden;

    background:
        radial-gradient(
            circle at 10% 80%,
            rgba(198,144,46,.07),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 15%,
            rgba(232,135,30,.055),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #fffdf8 0%,
            var(--bg-body) 52%,
            #f8f1e7 100%
        );

    isolation:isolate;
}


.connected-advice::before{
    content:"";

    position:absolute;

    width:500px;
    height:500px;

    top:-290px;
    right:-210px;

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

    border-radius:50%;

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

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

    pointer-events:none;

    z-index:-1;
}


.connected-advice::after{
    content:"";

    position:absolute;

    width:300px;
    height:300px;

    left:-170px;
    bottom:-150px;

    border-radius:50%;

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

    pointer-events:none;

    z-index:-1;
}


/*======================================
  CONNECTED ADVICE GRID
======================================*/

.connected-advice__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(420px,.95fr);

    align-items:center;

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


/*======================================
  CONNECTED ADVICE CONTENT
======================================*/

.connected-advice__content{
    position:relative;

    max-width:700px;

    z-index:3;
}


/*======================================
  CONNECTED ADVICE EYEBROW
======================================*/

.connected-advice__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,.6);

    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);

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


.connected-advice__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);
}


/*======================================
  CONNECTED ADVICE TITLE
======================================*/

.connected-advice__title{
    max-width:720px;

    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;
}


.connected-advice__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;
}


/*======================================
  CONNECTED ADVICE DESCRIPTION
======================================*/

.connected-advice__description{
    max-width:620px;

    margin-bottom:2rem;

    color:var(--text-body);

    font-size:1rem;

    line-height:1.82;
}


/*======================================
  CONNECTED ADVICE LINK
======================================*/

.connected-advice__link{
    display:inline-flex;

    align-items:center;

    gap:.7rem;

    padding:.75rem 0;

    color:var(--color-primary);

    font-size:.9rem;

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

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


.connected-advice__link span{
    display:grid;

    width:36px;
    height:36px;

    place-items:center;

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

    border-radius:50%;

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

    color:var(--color-highlight);

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

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


.connected-advice__link:hover{
    color:var(--color-accent);
}


.connected-advice__link:hover span{
    transform:translateX(4px);

    background:var(--color-primary);

    color:#fff;
}


/*======================================
  CONNECTED ADVICE VISUAL
======================================*/

.connected-advice__visual{
    position:relative;

    display:grid;

    width:100%;

    max-width:500px;

    aspect-ratio:1 / 1;

    place-items:center;

    justify-self:end;

    z-index:2;
}


.connected-advice__network{
    position:relative;

    width:100%;
    height:100%;
}


/*======================================
  NETWORK CENTER
======================================*/

.connected-advice__center{
    position:absolute;

    display:flex;

    width:180px;
    height:180px;

    top:50%;
    left:50%;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:.55rem;

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

    border-radius:50%;

    background:
        radial-gradient(
            circle at 35% 28%,
            rgba(255,255,255,.98),
            rgba(255,249,240,.88) 58%,
            rgba(244,234,218,.78)
        );

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

        0 0 0 18px
        rgba(198,144,46,.025),

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

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

    z-index:5;
}


.connected-advice__center::before{
    content:"";

    position:absolute;

    width:78%;
    height:78%;

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

    border-radius:50%;

    pointer-events:none;
}


.connected-advice__center strong{
    position:relative;

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

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

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

    font-size:3.5rem;

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

    line-height:1;

    letter-spacing:-.07em;

    z-index:1;
}


.connected-advice__center span{
    position:relative;

    color:
        rgba(15,45,82,.58);

    font-size:.58rem;

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

    letter-spacing:.09em;

    text-transform:uppercase;

    z-index:1;
}


/*======================================
  NETWORK NODES
======================================*/

.connected-advice__node{
    position:absolute;

    display:flex;

    min-width:125px;

    align-items:center;

    gap:.6rem;

    padding:
        .75rem
        .9rem;

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

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

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

    box-shadow:
        0 14px 35px
        rgba(15,45,82,.075),

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

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

    z-index:4;
}


.connected-advice__node span{
    display:grid;

    width:27px;
    height:27px;

    flex-shrink:0;

    place-items:center;

    border-radius:50%;

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

    color:var(--color-accent);

    font-size:.58rem;

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


.connected-advice__node strong{
    color:var(--color-primary);

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

    font-size:.76rem;

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


/*======================================
  NODE POSITIONS
======================================*/

.connected-advice__node--business{
    top:8%;
    left:4%;

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


.connected-advice__node--tax{
    top:14%;
    right:0;

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


.connected-advice__node--finance{
    left:0;
    bottom:13%;

    animation:
        connectedFloatTwo
        5.8s ease-in-out infinite;
}


.connected-advice__node--wealth{
    right:3%;
    bottom:7%;

    animation:
        connectedFloatOne
        6.3s ease-in-out infinite;
}


/*======================================
  CONNECTING LINES
======================================*/

.connected-advice__line{
    position:absolute;

    width:34%;
    height:1px;

    top:50%;
    left:50%;

    transform-origin:left center;

    background:
        linear-gradient(
            90deg,
            rgba(198,144,46,.48),
            rgba(15,45,82,.08)
        );

    z-index:1;
}


.connected-advice__line::after{
    content:"";

    position:absolute;

    width:6px;
    height:6px;

    top:50%;
    left:55%;

    border-radius:50%;

    background:
        var(--color-highlight);

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

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


.connected-advice__line--1{
    transform:
        rotate(-135deg);
}


.connected-advice__line--2{
    transform:
        rotate(-42deg);
}


.connected-advice__line--3{
    transform:
        rotate(138deg);
}


.connected-advice__line--4{
    transform:
        rotate(42deg);
}


/*======================================
  CONNECTED ADVICE ANIMATIONS
======================================*/

@keyframes connectedFloatOne{

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

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

}


@keyframes connectedFloatTwo{

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

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

}


/*======================================
  CONNECTED ADVICE RESPONSIVE
======================================*/

@media (max-width:1000px){

    .connected-advice__grid{
        grid-template-columns:
            minmax(0,1fr)
            minmax(380px,.8fr);

        gap:4rem;
    }


    .connected-advice__visual{
        max-width:430px;
    }


    .connected-advice__center{
        width:160px;
        height:160px;
    }

}


@media (max-width:850px){

    .connected-advice{
        padding:
            calc(var(--section-padding) * .75)
            0;
    }


    .connected-advice__grid{
        grid-template-columns:1fr;

        gap:4rem;
    }


    .connected-advice__content{
        max-width:720px;
    }


    .connected-advice__visual{
        width:min(100%,470px);

        justify-self:center;
    }

}


@media (max-width:600px){

    .connected-advice{
        padding:
            4.5rem
            0;
    }


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


    .connected-advice__description{
        font-size:.98rem;

        line-height:1.72;
    }


    .connected-advice__visual{
        max-width:340px;
    }


    .connected-advice__center{
        width:130px;
        height:130px;
    }


    .connected-advice__center strong{
        font-size:2.8rem;
    }


    .connected-advice__center span{
        font-size:.48rem;
    }


    .connected-advice__node{
        min-width:auto;

        padding:
            .55rem
            .65rem;
    }


    .connected-advice__node span{
        width:23px;
        height:23px;

        font-size:.5rem;
    }


    .connected-advice__node strong{
        font-size:.66rem;
    }

}


@media (max-width:400px){

    .connected-advice__visual{
        max-width:290px;
    }


    .connected-advice__center{
        width:115px;
        height:115px;
    }


    .connected-advice__center strong{
        font-size:2.4rem;
    }


    .connected-advice__node span{
        display:none;
    }

}


/*======================================
  CONNECTED ADVICE REDUCED MOTION
======================================*/

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

    .connected-advice__node{
        animation:none;
    }


    .connected-advice__link,
    .connected-advice__link span{
        transition:none;
    }

}

/*======================================
  SERVICES FINAL CTA
======================================*/

.services-cta{
    position:relative;

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

    overflow:hidden;

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

    isolation:isolate;
}


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

    position:absolute;

    width:440px;
    height:440px;

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

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

    border-radius:50%;

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

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

    pointer-events:none;

    z-index:-1;
}



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

.services-cta__panel{
    position:relative;

    display:grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(340px,.85fr);

    align-items:center;

    min-height:500px;

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

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

    overflow:hidden;

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

    border-radius:34px;

    background:
        radial-gradient(
            circle at 85% 18%,
            rgba(232,135,30,.14),
            transparent 28%
        ),
        radial-gradient(
            circle at 65% 90%,
            rgba(198,144,46,.07),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            var(--color-primary) 0%,
            #153453 52%,
            #1a4067 100%
        );

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

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

    isolation:isolate;
}


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

    position:absolute;

    width:500px;
    height:500px;

    top:-310px;
    right:-170px;

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

    border-radius:50%;

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

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

    pointer-events:none;

    z-index:-1;
}


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

    position:absolute;

    width:300px;
    height:300px;

    left:-180px;
    bottom:-190px;

    border-radius:50%;

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

    pointer-events:none;

    z-index:-1;
}


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

.services-cta__content{
    position:relative;

    max-width:670px;

    z-index:3;
}


.services-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);
}


.services-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);
}


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

.services-cta__title{
    max-width:680px;

    margin-bottom:1.5rem;

    color:#fff;

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

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

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

    line-height:1.02;

    letter-spacing:-.05em;
}


.services-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;
}


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

.services-cta__description{
    max-width:590px;

    margin-bottom:2rem;

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

    font-size:1rem;

    line-height:1.8;
}


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

.services-cta__actions{
    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:1rem;
}


.services-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:
        color var(--transition-fast),
        transform var(--transition-fast),
        box-shadow var(--transition-fast);
}


.services-cta__primary:hover{
    color:var(--color-primary);

    transform:translateY(-2px);

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


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


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


.services-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);
}


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


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


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


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

.services-cta__visual{
    position:relative;

    display:grid;

    width:100%;

    max-width:360px;

    aspect-ratio:1 / 1;

    place-items:center;

    justify-self:end;

    z-index:2;
}


/*======================================
  CTA RINGS
======================================*/

.services-cta__ring{
    position:absolute;

    border-radius:50%;

    pointer-events:none;
}


.services-cta__ring--outer{
    width:100%;
    height:100%;

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

    animation:
        servicesCtaRotate
        34s linear infinite;
}


.services-cta__ring--outer::before{
    content:"";

    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,.32);
}


.services-cta__ring--inner{
    width:68%;
    height:68%;

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

    animation:
        servicesCtaRotateReverse
        26s linear infinite;
}


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

.services-cta__center{
    position:relative;

    display:flex;

    width:50%;
    height:50%;

    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;
}


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

    position:absolute;

    width:78%;
    height:78%;

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

    border-radius:50%;

    pointer-events:none;
}


.services-cta__center strong{
    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,3.8rem);

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

    line-height:1;

    letter-spacing:-.07em;

    z-index:1;
}


.services-cta__center span{
    position:relative;

    max-width:140px;

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

    font-size:.6rem;

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

    letter-spacing:.08em;

    line-height:1.5;

    text-align:center;

    text-transform:uppercase;

    z-index:1;
}


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

@keyframes servicesCtaRotate{

    from{
        transform:rotate(0);
    }

    to{
        transform:rotate(360deg);
    }

}


@keyframes servicesCtaRotateReverse{

    from{
        transform:rotate(360deg);
    }

    to{
        transform:rotate(0);
    }

}


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

@media (max-width:950px){

    .services-cta__panel{
        grid-template-columns:
            minmax(0,1fr)
            minmax(290px,.7fr);

        gap:3rem;

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


    .services-cta__visual{
        max-width:310px;
    }

}


@media (max-width:800px){

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


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

        min-height:auto;

        gap:3.5rem;

        padding:
            3.5rem
            3rem;
    }


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


    .services-cta__visual{
        width:min(100%,350px);

        justify-self:center;
    }

}


@media (max-width:600px){

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


    .services-cta__panel{
        gap:3rem;

        padding:
            2.5rem
            1.5rem;

        border-radius:26px;
    }


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


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

        line-height:1.72;
    }


    .services-cta__actions{
        flex-direction:column;

        align-items:stretch;
    }


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

        justify-content:center;
    }


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

}


@media (max-width:400px){

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


    .services-cta__visual{
        max-width:250px;
    }


    .services-cta__center{
        width:54%;
        height:54%;
    }

}


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

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

    .services-cta__ring{
        animation:none;
    }


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

}