/* =========================================================
 * Al-Jathnan — Process Journey
 * Version: 2.2.0
 * Shortcode: [aj_process]
 * Premium compact dark editorial timeline
 * ======================================================= */
.aj-process-journey{
    position:relative;
    isolation:isolate;
    width:100vw;
    max-width:100vw;
    margin-inline:calc(50% - 50vw);
    overflow:hidden;
    background:
        radial-gradient(circle at 84% 12%,rgba(73,119,163,.16),transparent 29%),
        linear-gradient(135deg,#06182b 0%,#09233d 58%,#0b2948 100%);
    color:#fff;
    scroll-margin-top:110px;
}
.aj-process-journey::before{
    content:"";
    position:absolute;
    z-index:-2;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:84px 84px;
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 80%,transparent);
    mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 80%,transparent);
    pointer-events:none;
}
.aj-process-journey::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:430px;
    height:430px;
    inset-inline-start:-280px;
    top:-220px;
    border:1px solid rgba(255,255,255,.045);
    border-radius:50%;
    box-shadow:0 0 0 58px rgba(255,255,255,.009),0 0 0 116px rgba(255,255,255,.005);
    pointer-events:none;
}
.aj-process-journey__shell{
    position:relative;
    z-index:1;
    padding-block:clamp(52px,5vw,72px);
}
/* Header */
.aj-process-journey__head{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.68fr);
    align-items:end;
    gap:clamp(36px,6vw,82px);
    margin-bottom:28px;
}
body.aj-site .aj-process-journey .aj-process-journey__eyebrow{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 14px;
    color:var(--aj-gold-bright)!important;
    font-family:var(--aj-font-body);
    font-size:.86rem!important;
    font-weight:700;
    line-height:1.5!important;
}
.aj-process-journey__eyebrow::before{
    content:"";
    width:34px;
    height:1px;
    flex:0 0 34px;
    background:var(--aj-gold-bright);
}
body.aj-site .aj-process-journey h2.aj-process-journey__title{
    max-width:760px;
    margin:0;
    color:#fff!important;
    font-family:var(--aj-font-display);
    font-size:clamp(2.05rem,3.5vw,3.1rem)!important;
    font-weight:800!important;
    line-height:1.22!important;
    letter-spacing:-.025em;
    text-wrap:balance;
}
body.aj-site .aj-process-journey p.aj-process-journey__lead{
    max-width:570px;
    margin:0;
    color:rgba(255,255,255,.72)!important;
    font-family:var(--aj-font-body);
    font-size:.96rem!important;
    line-height:1.95!important;
}
/* Route bar */
.aj-process-journey__route{
    display:grid;
    grid-template-columns:auto minmax(160px,1fr) auto;
    align-items:center;
    gap:clamp(20px,3vw,42px);
    min-height:76px;
    padding:14px 20px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:18px;
    background:rgba(255,255,255,.028);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.aj-process-journey__endpoint{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
}
.aj-process-journey__endpoint--destination{
    text-align:end;
}
.aj-process-journey__endpoint-copy{
    display:grid;
    gap:2px;
}
body.aj-site .aj-process-journey .aj-process-journey__endpoint-copy small{
    color:rgba(255,255,255,.48)!important;
    font-size:.68rem!important;
    font-weight:600;
    line-height:1.5;
}
body.aj-site .aj-process-journey .aj-process-journey__endpoint-copy strong{
    color:#fff!important;
    font-size:.88rem;
    font-weight:750;
    line-height:1.5;
}
.aj-process-journey__endpoint-mark{
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    background:rgba(255,255,255,.045);
}
.aj-process-journey__endpoint-mark--kenya{
    overflow:hidden;
    border:3px solid rgba(255,255,255,.86);
    background:linear-gradient(to bottom,#141414 0%,#141414 30%,#fff 30%,#fff 34%,#a51d2d 34%,#a51d2d 66%,#fff 66%,#fff 70%,#1e5b37 70%,#1e5b37 100%);
}
.aj-process-journey__endpoint-mark--world{
    color:var(--aj-gold-bright);
}
.aj-process-journey__endpoint-mark--world svg{
    width:18px;
    height:18px;
}
.aj-process-journey__route-line{
    position:relative;
    height:20px;
}
.aj-process-journey__route-line::before{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    left:0;
    height:1px;
    background:repeating-linear-gradient(90deg,rgba(255,255,255,.58) 0 7px,transparent 7px 14px);
    transform:translateY(-50%);
}
.aj-process-journey__route-line::after{
    content:"";
    position:absolute;
    top:20%;
    inset-inline-end:1px;
    width:8px;
    height:8px;
    border-top:1.5px solid var(--aj-gold-bright);
    border-inline-end:1.5px solid var(--aj-gold-bright);
    transform:translateY(-50%) rotate(45deg);
}
.aj-process-journey__route-line span{
    position:absolute;
    z-index:2;
    top:50%;
    inset-inline-start:8%;
    width:7px;
    height:7px;
    border:2px solid rgba(255,255,255,.92);
    border-radius:50%;
    background:#5d7892;
    box-shadow:0 0 0 5px rgba(255,255,255,.045);
    transform:translateY(-50%);
    animation:ajProcessRouteTravel 5.5s var(--aj-ease-soft) infinite;
}
@keyframes ajProcessRouteTravel{
    0%,8%{inset-inline-start:7%;}
    92%,100%{inset-inline-start:91%;}
}
/* Timeline */
.aj-process-journey__steps{
    position:relative;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    margin:26px 0 0;
    padding:22px 0 0;
    list-style:none;
    border-top:1px solid rgba(255,255,255,.1);
}
.aj-process-journey__steps::before{
    content:"";
    position:absolute;
    top:28px;
    right:0;
    left:0;
    height:1px;
    background:rgba(255,255,255,.11);
}
.aj-process-journey__step{
    position:relative;
    z-index:2;
    min-width:0;
    padding-inline-end:clamp(18px,2.5vw,34px);
}
.aj-process-journey__step:last-child{
    padding-inline-end:0;
}
.aj-process-journey__node{
    position:relative;
    display:block;
    width:13px;
    height:13px;
    margin:0 0 18px;
    border:3px solid #09233d;
    border-radius:50%;
    background:var(--aj-gold-bright);
    box-shadow:0 0 0 1px rgba(201,169,97,.52),0 0 0 7px rgba(201,169,97,.075);
    transition:transform var(--aj-duration) var(--aj-ease),box-shadow var(--aj-duration) var(--aj-ease);
}
.aj-process-journey__step:hover .aj-process-journey__node{
    transform:translateY(3px);
    box-shadow:0 0 0 1px rgba(221,186,112,.82),0 0 0 10px rgba(201,169,97,.1);
}
.aj-process-journey__step-copy{
    max-width:225px;
}
body.aj-site .aj-process-journey .aj-process-journey__step-label{
    display:block;
    margin-bottom:6px;
    color:var(--aj-gold-bright)!important;
    font-size:.7rem!important;
    font-weight:750;
    line-height:1.5;
}
body.aj-site .aj-process-journey .aj-process-journey__step h3{
    margin:0;
    color:#fff!important;
    font-family:var(--aj-font-display);
    font-size:1.08rem!important;
    font-weight:750!important;
    line-height:1.5!important;
}
body.aj-site .aj-process-journey .aj-process-journey__step p{
    margin:7px 0 0;
    color:rgba(255,255,255,.61)!important;
    font-family:var(--aj-font-body);
    font-size:.79rem!important;
    line-height:1.85!important;
}
/* Footer */
.aj-process-journey__footer{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:30px;
    margin-top:28px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.1);
}
.aj-process-journey__footer-copy{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px 22px;
}
body.aj-site .aj-process-journey .aj-process-journey__footer-copy > span{
    color:var(--aj-gold-bright)!important;
    font-size:.72rem!important;
    font-weight:750;
    white-space:nowrap;
}
body.aj-site .aj-process-journey .aj-process-journey__footer-copy p{
    max-width:650px;
    margin:0;
    color:rgba(255,255,255,.64)!important;
    font-size:.84rem!important;
    line-height:1.8!important;
}
.aj-process-journey__cta,
body.aj-site a.aj-process-journey__cta,
body.aj-site a.aj-process-journey__cta:visited{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:48px;
    padding:0 21px;
    border:1px solid #fff;
    border-radius:14px;
    background:#fff!important;
    color:var(--aj-navy-deep)!important;
    font-family:var(--aj-font-body);
    font-size:.82rem;
    font-weight:750;
    line-height:1;
    text-decoration:none!important;
    white-space:nowrap;
    box-shadow:0 12px 28px rgba(0,0,0,.14);
    transition:transform var(--aj-duration) var(--aj-ease),box-shadow var(--aj-duration) var(--aj-ease);
}
body.aj-site a.aj-process-journey__cta:hover,
body.aj-site a.aj-process-journey__cta:focus{
    transform:translateY(-2px);
    color:var(--aj-navy-deep)!important;
    box-shadow:0 17px 34px rgba(0,0,0,.2);
}
.aj-process-journey__cta svg{
    width:16px;
    height:16px;
    flex:0 0 16px;
    transform:none;
}
/* Reveal */
.aj-process-journey [data-aj-reveal]{
    opacity:0;
    transform:translateY(16px);
    transition:opacity 650ms var(--aj-ease) var(--aj-delay,0ms),transform 650ms var(--aj-ease) var(--aj-delay,0ms);
}
.aj-process-journey [data-aj-reveal].is-visible{
    opacity:1;
    transform:none;
}
@media(max-width:1050px){
    .aj-process-journey__head{grid-template-columns:1fr;align-items:start;gap:18px;margin-bottom:26px;}
    body.aj-site .aj-process-journey p.aj-process-journey__lead{max-width:720px;}
    .aj-process-journey__steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px;}
    .aj-process-journey__steps::before{display:none;}
    .aj-process-journey__step{padding:18px 26px 0 0;border-top:1px solid rgba(255,255,255,.09);}
    .aj-process-journey__node{margin:0 0 17px;}
}
@media(max-width:720px){
    .aj-process-journey__shell{padding-block:42px;}
    .aj-process-journey__head{gap:14px;margin-bottom:22px;}
    body.aj-site .aj-process-journey .aj-process-journey__eyebrow{margin-bottom:10px;}
    body.aj-site .aj-process-journey p.aj-process-journey__lead{font-size:.88rem!important;line-height:1.75!important;}
    body.aj-site .aj-process-journey h2.aj-process-journey__title{font-size:26px!important;}
    .aj-process-journey__route{grid-template-columns:1fr;gap:10px;min-height:0;padding:14px 16px;}
    .aj-process-journey__endpoint--destination{justify-content:flex-end;}
    .aj-process-journey__route-line{width:100%;}
    .aj-process-journey__steps{display:block;margin-top:20px;padding-top:0;border-top:0;}
    .aj-process-journey__step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:0 14px;padding:16px 0;border-top:1px solid rgba(255,255,255,.09);}
    .aj-process-journey__node{grid-column:1;grid-row:1;margin:5px 0 0;}
    .aj-process-journey__step-copy{grid-column:2;max-width:none;}
    .aj-process-journey__footer{grid-template-columns:1fr;gap:16px;margin-top:22px;padding-top:16px;}
    .aj-process-journey__cta{width:100%;}
}
@media(prefers-reduced-motion:reduce){
    .aj-process-journey *,
    .aj-process-journey *::before,
    .aj-process-journey *::after{animation:none!important;transition:none!important;}
    .aj-process-journey [data-aj-reveal]{opacity:1!important;transform:none!important;}
}

html[dir="rtl"] .aj-process-journey__cta svg{transform:scaleX(-1);}
html:not([dir="rtl"]) body.aj-site .aj-process-journey h2.aj-process-journey__title{line-height:1.1!important;letter-spacing:-.04em;}
html:not([dir="rtl"]) body.aj-site .aj-process-journey p.aj-process-journey__lead{line-height:1.72!important;}

/* Light version: keep the same full-width layout and timeline. */
.aj-process-journey{background:#fff;color:#10243a}
.aj-process-journey{background-image:linear-gradient(rgba(255,255,255,.4),rgba(255,255,255,.55)),url("process-background.webp");background-position:center center;background-size:cover;background-repeat:no-repeat}
.aj-process-journey::before{background-image:linear-gradient(rgba(16,36,58,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(16,36,58,.025) 1px,transparent 1px)}
.aj-process-journey::after{border-color:rgba(16,36,58,.055);box-shadow:0 0 0 58px rgba(16,36,58,.008),0 0 0 116px rgba(16,36,58,.004)}
body.aj-site .aj-process-journey .aj-process-journey__eyebrow,body.aj-site .aj-process-journey .aj-process-journey__step-label,body.aj-site .aj-process-journey .aj-process-journey__footer-copy>span{color:#a58343!important}
.aj-process-journey__eyebrow::before{background:#a58343}
body.aj-site .aj-process-journey h2.aj-process-journey__title,body.aj-site .aj-process-journey .aj-process-journey__endpoint-copy strong,body.aj-site .aj-process-journey .aj-process-journey__step h3{color:#10243a!important}
body.aj-site .aj-process-journey p.aj-process-journey__lead,body.aj-site .aj-process-journey .aj-process-journey__step p,body.aj-site .aj-process-journey .aj-process-journey__footer-copy p{color:#566679!important}
.aj-process-journey__route{border-color:rgba(16,36,58,.14);background:#f7f9fb;box-shadow:inset 0 1px 0 #fff}
body.aj-site .aj-process-journey .aj-process-journey__endpoint-copy small{color:#66778a!important}
.aj-process-journey__endpoint-mark{border-color:rgba(16,36,58,.17);background:#fff}
.aj-process-journey__endpoint-mark--kenya{border:3px solid #fff;background:linear-gradient(to bottom,#141414 0%,#141414 30%,#fff 30%,#fff 34%,#a51d2d 34%,#a51d2d 66%,#fff 66%,#fff 70%,#1e5b37 70%,#1e5b37 100%);box-shadow:0 0 0 1px rgba(16,36,58,.22)}
.aj-process-journey__endpoint-mark--world{color:#a58343}
.aj-process-journey__route-line::before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.58) 0 7px,transparent 7px 14px)}
.aj-process-journey__route-line::after{
    border-color:rgba(255,255,255,.58)!important
}
.aj-process-journey__route-line span{border-color:#fff;background:#355b7d;box-shadow:0 0 0 5px rgba(16,36,58,.07)}
.aj-process-journey__steps,.aj-process-journey__footer{border-top-color:rgba(16,36,58,.14)}
.aj-process-journey__steps::before{background:rgba(16,36,58,.16)}
.aj-process-journey__node{border-color:#fff;background:#b8995b;box-shadow:0 0 0 1px rgba(165,131,67,.55),0 0 0 7px rgba(165,131,67,.1)}
.aj-process-journey__cta,body.aj-site a.aj-process-journey__cta,body.aj-site a.aj-process-journey__cta:visited{border-color:#10243a;background:#10243a!important;color:#fff!important;box-shadow:0 12px 28px rgba(16,36,58,.14)}
body.aj-site a.aj-process-journey__cta:hover,body.aj-site a.aj-process-journey__cta:focus{color:#fff!important;box-shadow:0 17px 34px rgba(16,36,58,.2)}
@media(max-width:1050px){.aj-process-journey__step{border-top-color:rgba(16,36,58,.13)}}
@media(max-width:720px){.aj-process-journey__step{border-top-color:rgba(16,36,58,.13)}}

/* Dark navy route strip against the light image background. */
.aj-process-journey__route{border-color:rgba(255,255,255,.14);background:linear-gradient(110deg,#0c2034,#153452);box-shadow:0 16px 38px rgba(12,32,52,.16),inset 0 1px 0 rgba(255,255,255,.09)}
body.aj-site .aj-process-journey .aj-process-journey__route .aj-process-journey__endpoint-copy small{color:#aebed0!important}
body.aj-site .aj-process-journey .aj-process-journey__route .aj-process-journey__endpoint-copy strong{color:#fff!important}
.aj-process-journey__route .aj-process-journey__endpoint-mark{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.07)}
.aj-process-journey__route .aj-process-journey__endpoint-mark--kenya{border:3px solid #fff;background:linear-gradient(to bottom,#141414 0%,#141414 30%,#fff 30%,#fff 34%,#a51d2d 34%,#a51d2d 66%,#fff 66%,#fff 70%,#1e5b37 70%,#1e5b37 100%)}
.aj-process-journey__route .aj-process-journey__endpoint-mark--world{
    color:rgba(255,255,255,.58)!important
}

/* Navy labels with enough contrast over the image. */
body.aj-site .aj-process-journey .aj-process-journey__eyebrow{color:#173a5b!important}
.aj-process-journey__eyebrow::before{background:#173a5b}
body.aj-site .aj-process-journey .aj-process-journey__step-label{color:#244c70!important}
body.aj-site .aj-process-journey .aj-process-journey__footer-copy>span{color:#173a5b!important}

/* Timeline markers: navy centers and lighter navy borders. */
.aj-process-journey__node{border-color:#8daac1;background:#173a5b;box-shadow:0 0 0 1px #547897,0 0 0 7px rgba(23,58,91,.11)}
.aj-process-journey__step:hover .aj-process-journey__node{box-shadow:0 0 0 1px #547897,0 0 0 10px rgba(23,58,91,.14)}
