/*
==================================================
SOLUTIONS HERO
==================================================
*/
.solutions-page .section-kicker{
    display:inline-flex;
    flex-direction:row;
    align-items:center;
    gap:12px;
    color:var(--gold);
    font-family:'Inter', sans-serif;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.76rem;
    margin-bottom:16px;
}
.solutions-page .section-kicker::before{
    content:"";
    display:block;
    flex:0 0 34px;
    width:34px;
    height:2px;
    background:var(--gold);
    border-radius:999px;
}
.solutions-hero{
    background-color:#071a38 !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(7,26,56,.98) 0%,
            rgba(7,26,56,.94) 34%,
            rgba(7,26,56,.82) 58%,
            rgba(7,26,56,.66) 100%
        ),
        url("../images/solutions-network-bg.png") !important;
    background-size:cover !important;
    background-position:center right !important;
    background-repeat:no-repeat !important;
    padding: 20px;
}
.solutions-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0, 1.02fr) minmax(460px, .9fr);
    align-items:center;
    gap:46px;
}
.solutions-hero-copy{
    max-width:760px;
}
.solutions-page .solutions-hero h1{
    color:#fff;
    max-width:760px;
    margin:0;
}
.solutions-hero-copy p{
    max-width:700px;
    margin-top:24px;
    color:rgba(255,255,255,.86);
    font-size:1.04rem;
    line-height:1.75;
}
.solutions-hero-actions{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-top:34px;
}

/*
==================================================
SOLUTIONS HERO ORBIT
==================================================
*/
.hero-network-bg,
.solutions-hero-visual::before,
.solutions-hero-visual::after{
    display:none !important;
    content:none !important;
}
.solutions-hero-visual{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:520px;
    background:transparent !important;
    overflow:visible;
    transform:translateY(-8px);
}
.solutions-orbit{
    position:relative;
    width:560px;
    height:500px;
    transform:translateX(8px);
}

/*
==================================================
ORBIT RING
==================================================
*/
.orbit-ring{
    position:absolute;
    left:50%;
    top:50%;
    width:395px;
    height:395px;
    transform:translate(-50%, -50%);
    border-radius:50%;
    border:0;
    background:
        conic-gradient(
            from -90deg,

            transparent 0deg 26deg,
            var(--gold) 26deg 64deg,

            transparent 64deg 116deg,
            var(--gold) 116deg 154deg,

            transparent 154deg 206deg,
            var(--gold) 206deg 244deg,

            transparent 244deg 296deg,
            var(--gold) 296deg 334deg,

            transparent 334deg 360deg
        );

    -webkit-mask:
        radial-gradient(
            farthest-side,
            transparent calc(100% - 2px),
            #000 calc(100% - 2px),
            #000 calc(100% - .5px),
            transparent calc(100% - .5px)
        );

    mask:
        radial-gradient(
            farthest-side,
            transparent calc(100% - 2px),
            #000 calc(100% - 2px),
            #000 calc(100% - .5px),
            transparent calc(100% - .5px)
        );
}
.orbit-ring::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    background:
        repeating-conic-gradient(
            from -90deg,
            rgba(212,160,23,.95) 0deg,
            rgba(212,160,23,.95) 1.6deg,
            transparent 1.6deg,
            transparent 3.3deg
        );

    -webkit-mask:
        conic-gradient(
            from -90deg,

            transparent 0deg 26deg,
            #000 26deg 64deg,

            transparent 64deg 116deg,
            #000 116deg 154deg,

            transparent 154deg 206deg,
            #000 206deg 244deg,

            transparent 244deg 296deg,
            #000 296deg 334deg,

            transparent 334deg 360deg
        ),
        radial-gradient(
            farthest-side,
            transparent calc(100% - 2px),
            #000 calc(100% - 2px),
            #000 calc(100% - .5px),
            transparent calc(100% - .5px)
        );

    mask:
        conic-gradient(
            from -90deg,

            transparent 0deg 26deg,
            #000 26deg 64deg,

            transparent 64deg 116deg,
            #000 116deg 154deg,

            transparent 154deg 206deg,
            #000 206deg 244deg,

            transparent 244deg 296deg,
            #000 296deg 334deg,

            transparent 334deg 360deg
        ),
        radial-gradient(
            farthest-side,
            transparent calc(100% - 2px),
            #000 calc(100% - 2px),
            #000 calc(100% - .5px),
            transparent calc(100% - .5px)
        );
}
.orbit-ring::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:215px;
    height:215px;
    transform:translate(-50%, -50%);
    border-radius:50%;
    border:1px solid rgba(78,145,211,.12);
}

/*
==================================================
ORBIT CENTER
==================================================
*/
.orbit-center{
    position:absolute;
    left:50%;
    top:50%;
    width:188px;
    height:188px;
    transform:translate(-50%, -50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:center;
    border-radius:50%;
    background:
        radial-gradient(
            circle at center,
            #041120 0%,
            #06162f 58%,
            #0b2a55 82%,
            #1c5c9c 100%
        );
    border:1.5px solid rgba(92,166,232,.9);
    box-shadow:
        0 0 16px rgba(92,166,232,.22),
        inset 0 0 24px rgba(0,0,0,.28);
}
.orbit-center-icon{
    position:relative;
    z-index:2;
    width:94px;
    height:94px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:-20px;
    margin-bottom:-10px;
}
.orbit-center-icon img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.orbit-center strong{
    position:relative;
    z-index:2;
    color:#fff;
    font-family:'Montserrat', sans-serif;
    font-size:1.08rem;
    font-weight:800;
    line-height:1.16;
    margin-top:-10px;
}

/*
==================================================
ORBIT NODES
==================================================
*/
.orbit-node{
    position:absolute;
    z-index:3;
    width:120px;
    height:120px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
    text-align:center;
}
.orbit-icon{
    width:82px;
    height:82px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:
        radial-gradient(
            circle at center,
            #041120 0%,
            #06162f 58%,
            #0b2a55 82%,
            #1c5c9c 100%
        );
    border:1.4px solid rgba(92,166,232,.88);
    box-shadow:
        0 0 13px rgba(92,166,232,.18),
        inset 0 0 20px rgba(0,0,0,.25);
}
.orbit-icon img{
    width:39px;
    height:39px;
    object-fit:contain;
}
.orbit-node strong{
    position:absolute;
    left:50%;
    top:80px;
    z-index:5;
    width:max-content;
    transform:translateX(-50%);
    color:#fff;
    font-family:'Inter', sans-serif;
    font-size:.98rem;
    font-weight:800;
    line-height:1.1;
    text-align:center;
    background:rgba(7,26,56,.92);
    padding:3px 10px;
    border-radius:999px;
    box-shadow:0 0 0 7px rgba(7,26,56,.92);
}
.node-planning{
    left:50%;
    top:5px;
    transform:translateX(-50%);
}
.node-distribution{
    left:28px;
    top:50%;
    transform:translateY(-50%);
}
.node-retail{
    right:34px;
    top:50%;
    transform:translateY(-50%);
}
.node-reporting{
    left:50%;
    bottom:2px;
    transform:translateX(-50%);
}

/*
==================================================
ORBIT GOLD DOTS
==================================================
*/
.orbit-dot{
    position:absolute;
    z-index:4;
    width:14px;
    height:14px;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 5px rgba(212,160,23,.12);
}
.dot-one{
    left:132px;
    top:105px;
}
.dot-two{
    right:132px;
    top:105px;
}
.dot-three{
    left:132px;
    bottom:105px;
}
.dot-four{
    right:132px;
    bottom:105px;
}

/*
==================================================
RESPONSIVE
==================================================
*/
@media(max-width:1270px){
    .solutions-hero-visual{
        justify-content:flex-start;
        min-height:auto;
    }
    .solutions-orbit{
        width:480px;
        height:460px;
        transform:none;
    }
    .orbit-ring{
        width:340px;
        height:340px;
    }
    .orbit-center{
        width:165px;
        height:165px;
    }
    .orbit-center strong{
        font-size:1.05rem;
    }
    .orbit-icon{
        width:70px;
        height:70px;
    }
    .orbit-icon img{
        width:34px;
        height:34px;
    }
    .node-distribution{
        left:18px;
    }
    .node-retail{
        right:18px;
    }
    .dot-one{
        left:120px;
        top:100px;
    }
    .dot-two{
        right:120px;
        top:100px;
    }
    .dot-three{
        left:120px;
        bottom:100px;
    }
    .dot-four{
        right:120px;
        bottom:100px;
    }
}
@media(max-width:1110.99px){
 .dot-one{
      left:110px;
      top:100px;
  }
  .dot-two{
      right:110px;
      top:100px;
  }
  .dot-three{
      left:110px;
      bottom:100px;
  }
  .dot-four{
      right:110px;
      bottom:100px;
  }
}
@media(max-width:988.99px){
    .solutions-orbit{
        display:none;
    }
    .solutions-hero-grid{
        display:flex;
    }
    .solutions-hero{
        padding: 50px 0;
    }
}


/*
==================================================
CAPABILITIES OVERVIEW
==================================================
*/
.solutions-capabilities{
    padding:50px 0;
    background:#fff;
}
.capabilities-grid{
    display:grid;
    grid-template-columns:1fr .95fr;
    align-items:start;
    gap:86px;
}
.capabilities-heading{
    max-width:560px;
}
.capabilities-heading h2{
    font-family:'Montserrat', sans-serif;
    font-size:clamp(1.7rem, 2.25vw, 2.15rem);
    color:var(--primary);
    font-weight:800;
    line-height:1.22;
    letter-spacing:-.035em;
}
.capabilities-text{
    max-width:520px;
    padding-top:34px;
}
.capabilities-text p{
    color:#3f4654;
    font-size:1rem;
    line-height:1.75;
}

/*
==================================================
CORE SOLUTIONS
==================================================
*/
.core-solutions{
    padding:50px 0;
    background:#f7f4ee;
}
.core-section-head{
    max-width:760px;
    margin:0 auto 36px;
    text-align:center;
}
.core-kicker{
    display:block;
    margin-bottom:8px;
    color:var(--gold);
    font-family:'Inter', sans-serif;
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.core-section-head h2{
    font-family:'Montserrat', sans-serif;
    font-size:clamp(1.55rem, 2vw, 2rem);
    color:var(--primary);
    font-weight:800;
    line-height:1.25;
    letter-spacing:-.035em;
}
.core-title-line{
    display:block;
    width:42px;
    height:2px;
    margin:18px auto 0;
    background:var(--gold);
    border-radius:999px;
}
.solutions-card-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:16px;
}
.solution-card{
    position:relative;
    min-height:220px;
    padding:26px 28px 28px;
    background:#fff;
    border:1px solid rgba(11,31,77,.06);
    border-radius:3px;
    box-shadow:0 14px 34px rgba(11,31,77,.08);
    transition:transform .25s ease, box-shadow .25s ease;
}
.solution-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 45px rgba(11,31,77,.12);
}
.solution-number{
    color:var(--gold);
    font-family:'Montserrat', sans-serif;
    font-size:1.05rem;
    font-weight:800;
    line-height:1;
}
.solution-line{
    display:block;
    width:25px;
    height:2px;
    background:rgba(212,160,23,.65);
    border-radius:999px;
}
.solution-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
}
.solution-title-group{
    flex:1;
    min-width:0;
}
.solution-number-wrap{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    margin-bottom:10px;
}
.solution-card h3{
    max-width:240px;
    margin:0;
    color:var(--primary);
    font-family:'Montserrat', sans-serif;
    font-size:1.08rem;
    font-weight:800;
    line-height:1.18;
    letter-spacing:-.025em;
}
.solution-icon{
    flex:0 0 72px;
    width:102px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f3eee6;
    border:none;
    box-shadow:none;
}
.solution-icon img{
    width:75px;
    height:75px;
    object-fit:contain;
    display:block;
}
.solution-card p{
    max-width:270px;
    color:#4b5563;
    font-size:.9rem;
    line-height:1.65;
    margin-top: 0
}

/*
==================================================
CAPABILITIES / CARDS RESPONSIVE
==================================================
*/
@media(max-width:1050px){
    .capabilities-grid{
        grid-template-columns:1fr;
        gap:24px;
    }
    .capabilities-text{
        max-width:680px;
        padding-top:0;
    }
    .solutions-card-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}
@media(max-width:720px){
    .solutions-capabilities{
        padding:58px 0;
    }
    .core-solutions{
        padding:56px 0 66px;
    }
    .solutions-card-grid{
        grid-template-columns:1fr;
    }
    .solution-card{
        min-height:auto;
    }
    .solution-card p{
        max-width:100%;
    }
}

/*
==================================================
EXECUTION FLOW
==================================================
*/
.execution-flow-section{
    position:relative;
    overflow:hidden;
    padding:50px 0;
    background:#f5f9fc;
}
.execution-flow-section::before{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:230px;
    height:210px;
    opacity:.22;
    background:
        radial-gradient(circle, rgba(11,31,77,.16) 1px, transparent 1.8px);
    background-size:12px 12px;
    pointer-events:none;
}
.execution-flow-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:.85fr .75fr 1.6fr;
    align-items:center;
    gap:46px;
}
.execution-flow-heading h2{
    max-width:360px;
    color:var(--primary);
    font-family:'Montserrat', sans-serif;
    font-size:clamp(1.7rem, 2.25vw, 2.15rem);
    font-weight:800;
    line-height:1.22;
    letter-spacing:-.035em;
}
.execution-flow-text p{
    max-width:310px;
    color:#374151;
    font-size:.98rem;
    line-height:1.5;
}
.execution-steps{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0;
}
.execution-step{
    position:relative;
    width:92px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}
.step-number{
    color:var(--gold);
    font-family:'Montserrat', sans-serif;
    font-size:.9rem;
    font-weight:800;
    line-height:1;
    margin-bottom:8px;
}
.step-line{
    display:block;
    width:2px;
    background:rgba(212,160,23,.85);
}
.step-line-top{
    height:18px;
}
.step-line-bottom{
    height:18px;
}
.step-icon{
    width:74px;
    height:74px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#071a38;
    border:2px solid rgba(212,160,23,.55);
    box-shadow:0 14px 30px rgba(11,31,77,.16);
    position:relative;
    z-index:2;
}
.step-icon img{
    width:45px;
    height:45px;
    object-fit:contain;
    display:block;
}
.execution-step strong{
    margin-top:8px;
    color:var(--primary);
    font-family:'Montserrat', sans-serif;
    font-size:1rem;
    font-weight:800;
    line-height:1.1;
}
.step-connector{
    flex:0 0 54px;
    width:54px;
    height:2px;
    margin:0 6px;
    transform:translateY(-9px);
    background:var(--gold);
    position:relative;
    z-index:1;
}
.step-connector::before{
    content:"";
    position:absolute;
    right:12px;
    top:50%;
    width:7px;
    height:7px;
    border-top:2px solid var(--gold);
    border-right:2px solid var(--gold);
    transform:translateY(-50%) rotate(45deg);
}
.step-connector::after{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:7px;
    height:7px;
    border-top:2px solid var(--gold);
    border-right:2px solid var(--gold);
    transform:translateY(-50%) rotate(45deg);
}

/*
==================================================
SOLUTIONS CTA
==================================================
*/
.solutions-cta{
    padding:0 0 25px;
    background:#fff;
}
.solutions-cta-card{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr auto 1.05fr auto;
    align-items:center;
    gap:38px;
    padding:30px;
    border-radius:8px;
    background:
        linear-gradient(
            90deg,
            rgba(7,26,56,.98),
            rgba(11,31,77,.96)
        ),
        url("../images/solutions-network-bg.png");
    background-size:cover;
    background-position:center right;
    box-shadow:0 20px 48px rgba(11,31,77,.18);
}
.solutions-cta-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(7,26,56,.96), rgba(7,26,56,.66));
    pointer-events:none;
}
.solutions-cta-heading,
.cta-divider,
.solutions-cta-copy,
.solutions-cta-action{
    position:relative;
    z-index:2;
}
.cta-kicker{
    display:block;
    margin-bottom:10px;
    color:var(--gold);
    font-family:'Inter', sans-serif;
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.solutions-cta-heading h2{
    max-width:470px;
    color:#fff;
    font-family:'Montserrat', sans-serif;
    font-size:clamp(1.35rem, 2vw, 2rem);
    font-weight:800;
    line-height:1.18;
    letter-spacing:-.035em;
}
.cta-divider{
    display:block;
    width:1px;
    height:62px;
    background:rgba(255,255,255,.22);
}
.solutions-cta-copy p{
    max-width:470px;
    color:rgba(255,255,255,.82);
    font-size:.98rem;
    line-height:1.7;
}
.solutions-cta-action{
    justify-self:end;
}
.solutions-cta .btn-primary{
    min-width:180px;
}

/*
==================================================
EXECUTION / CTA RESPONSIVE
==================================================
*/
@media(max-width:1120px){
    .execution-flow-grid{
        grid-template-columns:1fr;
        gap:28px;
    }
    .execution-flow-text p{
        max-width:620px;
    }
    .execution-steps{
        justify-content:flex-start;
        overflow-x:auto;
        padding-bottom:10px;
    }
    .step-connector{
        min-width:52px;
        flex:0 0 52px;
    }
    .solutions-cta-card{
        grid-template-columns:1fr;
        gap:24px;
    }
    .cta-divider{
        width:100%;
        height:1px;
    }
    .solutions-cta-action{
        justify-self:start;
    }
}

@media(max-width:720px){
    .execution-flow-section{
        padding:58px 0 62px;
    }
    .execution-steps{
        align-items:flex-start;
    }
    .execution-step{
        width:82px;
    }
    .step-icon{
        width:66px;
        height:66px;
    }
    .step-icon img{
        width:30px;
        height:30px;
    }
    .execution-step strong{
        font-size:.88rem;
    }
    .solutions-cta{
        padding-bottom:58px;
    }
    .solutions-cta-card{
        padding:30px 22px;
    }
    .solutions-cta .btn-primary{
        width:70%;
    }
}