.hero-consulting {
    position: relative;

    overflow: hidden;

    isolation: isolate;

    background-image: url("../../images/consulting-programs.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-top:6rem;
    padding-bottom:6rem;

}
.hero-consulting::before {

    content:"";

    position:absolute;
    inset:0;

    background:

    linear-gradient(
        90deg,

        rgba(255,255,255,.95) 0%,

        rgba(255,255,255,.88) 30%,

        rgba(255,255,255,.72) 60%,

        rgba(255,255,255,.55) 100%

    );

    z-index:-1;

}

@media (max-width: 500px) {

    .hero-consulting {
        text-align: center;
    }

    .hero-consulting .btn {
        width: auto;
        min-width: 240px;
        white-space: normal;
    }

    .hero-content .badge {
        margin-inline: auto;
    }

    .hero-consulting::before{

    background:

    linear-gradient(

        180deg,

        rgba(255,255,255,.96) 0%,

        rgba(255,255,255,.90) 35%,

        rgba(255,255,255,.78) 70%,

        rgba(255,255,255,.62) 100%

    );
    }

}
.hero-consulting .container{

    position:relative;
    z-index:2;

}

.program-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:2rem;

margin-top:4rem;

}

.program-card{

position:relative;

padding:2.5rem;

background:white;

border-radius:20px;

border:1px solid #eee;

box-shadow:var(--shadow-sm);

transition:.35s;

display:flex;

flex-direction:column;

}

.program-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow-xl);

border-color:var(--color-primary);

}

.program-label{

position:absolute;

top:-12px;

left:30px;

padding:.45rem 1rem;

background:var(--color-primary);

color:white;

font-size:.85rem;

border-radius:999px;

font-weight:600;

}

.program-target{

margin:1rem 0;

font-weight:500;

color:var(--color-primary);

}

.program-meta{

display:flex;

flex-direction:column;

gap:.6rem;

margin:1.5rem 0;

}

.program-meta span{

display:flex;

align-items:center;

gap:.5rem;

color:var(--text-secondary);

}

.program-link{

margin-top:auto;

font-weight:600;

color:var(--color-primary);

text-decoration:none;

}

.program-link:hover{

text-decoration:underline;

}

.featured{

border:2px solid var(--color-primary);

}

.featured-secondary{

background:linear-gradient(
180deg,
white,
rgba(50,0,100,.03)
);

border:2px solid rgba(50,0,100,.15);

}

@media(max-width:1000px){

.program-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:650px){

.program-grid{

grid-template-columns:1fr;

}

}

/*=========================================
PROGRAM CARDS
=========================================*/

.programs-grid{
margin-top:70px;
}

.program-card{
position:relative;
display:flex;
flex-direction:column;
height:100%;
padding:42px;
border-radius:22px;
transition:.35s;
}

.program-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.program-top{

margin-bottom:28px;

}

.program-region{

display:inline-block;

font-size:.82rem;

font-weight:700;

letter-spacing:.08em;

text-transform:uppercase;

color:var(--primary);

margin-bottom:12px;

}

.program-card h3{

margin-bottom:10px;

font-size:1.45rem;

}

.program-target{

font-weight:600;

color:#666;

margin:0;

}

.program-features{

list-style:none;

padding:0;

margin:0 0 30px;

}

.program-features li{

padding:9px 0;

border-bottom:1px solid rgba(0,0,0,.06);

font-size:.96rem;

}

.program-features li:last-child{

border:none;

}

.program-card .text-link{

margin-top:auto;

font-weight:700;

}

.featured-program{

border:2px solid var(--primary);

}

.program-badge{

position:absolute;

top:22px;

right:22px;

background:var(--primary);

color:white;

font-size:.72rem;

padding:8px 14px;

border-radius:999px;

font-weight:700;

letter-spacing:.04em;

text-transform:uppercase;

}

@media (max-width:900px){

.program-card{

padding:34px;

}

}

/*==========================
ROADMAP
==========================*/

.roadmap{

position:relative;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:3rem;

margin-top:5rem;

}

.road-line{

position:absolute;

left:12%;

right:12%;

top:44px;

height:4px;

background:#ddd;

z-index:1;

}

.road-step{

position:relative;

z-index:2;

text-align:center;

}

.road-circle{

width:88px;

height:88px;

border-radius:50%;

background:white;

border:4px solid var(--color-primary);

display:flex;

align-items:center;

justify-content:center;

font-size:2rem;

color:var(--color-primary);

margin:auto;

margin-bottom:2rem;

box-shadow:var(--shadow-md);

transition:.35s;

}

.road-step:hover .road-circle{

background:var(--color-primary);

color:white;

transform:translateY(-8px);

}

.road-step h3{

margin-bottom:1rem;

}

.road-step p{

color:#666;

max-width:240px;

margin:auto;

}

@media(max-width:900px){

.roadmap{

grid-template-columns:1fr;

gap:3rem;

}

.road-line{

display:none;

}

}


.badge-light {

    display: inline-flex;
    align-items: center;

    background: rgba(255,255,255,0.15);

    color: #fff;

    border: 1px solid rgba(255,255,255,0.35);

    backdrop-filter: blur(10px);

}

.text-inverse-small {
    color:white;
}

/*==================================================
ROADMAP
==================================================*/

.roadmap-wrapper{

position:relative;

margin-top:4rem;

overflow-x:auto;

padding-bottom:20px;

scroll-behavior:smooth;

}

.roadmap-wrapper::-webkit-scrollbar{

height:10px;

}

.roadmap-wrapper::-webkit-scrollbar-thumb{

background:#d7d7d7;

border-radius:50px;

}

.roadmap-track{

display:flex;

gap:2rem;

padding:40px 0;

min-width:max-content;

position:relative;

}

.roadmap-line{

position:absolute;

left:0;

right:0;

top:170px;

height:4px;

background:#ececec;

}

.roadmap-card{

width:320px;

background:#fff;

border-radius:20px;

padding:2rem;

box-shadow:var(--shadow-sm);

border:1px solid #ececec;

transition:.35s;

position:relative;

flex-shrink:0;

}

.roadmap-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow-xl);

border-color:var(--color-primary);

}

.roadmap-year{

display:inline-block;

padding:.45rem .9rem;

background:rgba(90,60,180,.08);

color:var(--color-primary);

border-radius:999px;

font-size:.82rem;

font-weight:700;

margin-bottom:1rem;

}

.roadmap-icon{

font-size:2.4rem;

margin-bottom:1rem;

}

.roadmap-card h3{

margin-bottom:1rem;

}

.roadmap-card ul{

margin:0;

padding-left:1.2rem;

display:flex;

flex-direction:column;

gap:.55rem;

}

.roadmap-card li{

color:var(--text-secondary);

line-height:1.55;

}

.roadmap-tag{

display:inline-block;

margin-top:1.6rem;

padding:.55rem 1rem;

background:#f5f0ff;

border-radius:999px;

font-size:.82rem;

font-weight:600;

color:var(--color-primary);

}

.roadmap-card.final{

background:linear-gradient(180deg,#fff,#faf7ff);

border:2px solid var(--color-primary);

}

.roadmap-note{

margin-top:3rem;

text-align:center;

max-width:820px;

margin-inline:auto;

color:var(--text-secondary);

font-size:1.05rem;

line-height:1.8;

}

/*================ MOBILE ================*/

@media(max-width:900px){

.roadmap-track{

display:flex;

flex-direction:column;

min-width:100%;

gap:2rem;

}

.roadmap-line{

display:none;

}

.roadmap-card{

width:100%;

}
.roadmap-scroll-hint{
    display:none;
 }

}

.roadmap-scroll-hint{

text-align:center;

font-size:.9rem;

color:#888;

margin-top:2rem;

margin-bottom:-1rem;

letter-spacing:.03em;

}