/* Story page layout — tokens inherit from assets/css/tokens.css */

    body.hub-story main *{box-sizing:border-box}
    body.hub-story{scroll-behavior:smooth}
    body.hub-story{
      margin:0;
      color:var(--ink);
      background:#fff;
      line-height:1.55
    }
    body.hub-story main a:not(.btn):not(.btn-gold):not(.btn-light){color:inherit;text-decoration:none}
    body.hub-story main img{max-width:100%;display:block}
    body.hub-story main .container{max-width:var(--max);margin:auto;padding:0 28px}
    body.hub-story main .section{padding:96px 0}
    body.hub-story main .soft{background:var(--surface)}
    body.hub-story main .dark{background:var(--navy);color:#fff}
    body.hub-story main .eyebrow{
      display:inline-flex;align-items:center;gap:9px;
      text-transform:uppercase;letter-spacing:.14em;font-size:12px;
      font-weight:900;color:var(--blue)
    }
    body.hub-story main .eyebrow:before{content:"";width:22px;height:2px;background:currentColor;border-radius:999px}
    body.hub-story main .section-head{max-width:780px;margin-bottom:44px}
    body.hub-story main .section-head h2,
body.hub-story main .copy h2{
      font-size:var(--text-h2);line-height:var(--lh-h2);
      letter-spacing:var(--tracking-heading);margin:12px 0 18px
    }
    body.hub-story main .section-head p,
body.hub-story main .copy p{font-size:var(--text-body-large);color:var(--slate);margin:0;line-height:var(--lh-body-large);max-width:42rem}
    body.hub-story main .dark .section-head p,
body.hub-story main .dark .copy p{color:rgba(255,255,255,.72)}

    body.hub-story main .btn{
      display:inline-flex;align-items:center;justify-content:center;
      min-height:48px;padding:0 19px;border-radius:13px;
      border:1px solid transparent;font-weight:900;font-size:14px;transition:.2s ease
    }
    body.hub-story main .btn:hover{box-shadow:0 10px 24px rgba(11,31,77,.16)}
    body.hub-story main .btn-blue{background:var(--blue);color:#fff}
    body.hub-story main .btn-primary{background:var(--champagne);color:var(--navy)}
    body.hub-story main .btn-gold{
      background:var(--j2p-cta);
      color:var(--j2p-cta-text);
      box-shadow:var(--j2p-cta-shadow)
    }
    body.hub-story main .btn-gold:hover{
      background:var(--j2p-cta-hover);
      color:var(--j2p-cta-text)
    }
    body.hub-story main .btn-gold:active{background:var(--j2p-cta-pressed)}
    body.hub-story main .btn-outline{border-color:var(--line);color:var(--navy);background:#fff}
    body.hub-story main .btn-light{background:#fff;color:var(--navy);border-color:var(--line)}
    body.hub-story main .link-arrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:900}
    body.hub-story main .link-arrow span,
    body.hub-story main .link-arrow .ph{transition:.2s}body.hub-story main .link-arrow:hover span,
    body.hub-story main .link-arrow:hover .ph{transform:translateX(4px)}

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    body.hub-story main .hero{
      color:var(--navy);overflow:hidden;position:relative;padding:92px 0 72px;
      background:var(--j2p-hero-bg)
    }
    body.hub-story main .hero:after{
      content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.08);
      border-radius:50%;right:-170px;bottom:-330px;box-shadow:
      0 0 0 75px rgba(255,255,255,.02),0 0 0 150px rgba(255,255,255,.015)
    }
    body.hub-story main .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center;position:relative;z-index:2}
    body.hub-story main .hero .eyebrow{color:var(--blue)}
    body.hub-story main .hero h1{
      font-size:var(--text-h1);line-height:var(--lh-h1);letter-spacing:var(--tracking-heading);
      margin:0 0 22px;height:auto;max-width:18em
    }
    body.hub-story main .hero h1 span{color:var(--blue)}
    body.hub-story main .hero-copy{font-size:var(--text-body-large);color:var(--slate);max-width:var(--j2p-hero-copy-max);margin:0}
    body.hub-story main .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
    body.hub-story main .hero-visual{position:relative;min-height:0;height:auto;overflow:visible}
    body.hub-story main .story-card{
      position:relative;inset:auto;width:100%;height:auto;min-height:0;
      background:#fff;border:1px solid var(--line);
      border-radius:28px;box-shadow:0 34px 90px rgba(11,31,77,.12);
      overflow:visible;padding:24px;display:flex;flex-direction:column;gap:16px
    }
    body.hub-story main .story-card:before{display:none}
    body.hub-story main .story-word{position:relative;z-index:2;font-size:clamp(1.5rem,3.2vw,2.25rem);font-weight:800;line-height:var(--lh-h2);letter-spacing:var(--tracking-heading);color:var(--navy)}
    body.hub-story main .story-word span{display:block;color:var(--blue)}
    body.hub-story main .story-caption{position:static;left:auto;bottom:auto;right:auto;z-index:2;color:var(--slate);font-size:var(--text-body);line-height:var(--lh-card);padding:0}
    body.hub-story main .float-note{
      position:static;left:auto;bottom:auto;background:var(--surface);color:var(--navy);border-radius:14px;
      padding:14px 16px 16px;box-shadow:none;z-index:auto;font-weight:700;font-size:var(--text-small);line-height:var(--lh-card);width:100%;height:auto;white-space:normal
    }
    body.hub-story main .float-note small{display:block;color:var(--slate);font-size:10px;font-weight:700;margin-top:4px}

    
    body.hub-story main .why-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:62px;align-items:center}
    body.hub-story main .problem-visual{
      border-radius:28px;padding:28px;background:linear-gradient(145deg,#F8FAFC,#EEF3FB);border:1px solid var(--line);
      box-shadow:var(--shadow-soft)
    }
    body.hub-story main .fragment{display:grid;gap:12px}
    body.hub-story main .fragment-row{
      display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;
      background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px
    }
    body.hub-story main .fragment-icon{
      width:54px;height:54px;border-radius:14px;background:#EEF4FF;color:var(--blue);
      display:grid;place-items:center;font-size:21px;font-weight:900
    }
    body.hub-story main .fragment-row b{display:block;color:var(--navy);font-size:14px}
    body.hub-story main .fragment-row small{color:var(--slate);font-size:var(--text-meta)}
    body.hub-story main .connector{
      margin-top:18px;background:var(--navy);color:#fff;border-radius:18px;padding:20px;text-align:center
    }
    body.hub-story main .connector strong{display:block;font-size:20px;color:var(--champagne)}
    body.hub-story main .connector span{font-size:12px;color:rgba(255,255,255,.68)}

    
    body.hub-story main .belief-quote{
      max-width:960px;margin:auto;text-align:center
    }
    body.hub-story main .belief-quote h2{
      font-size:var(--text-h2);line-height:var(--lh-h2);letter-spacing:var(--tracking-heading);margin:12px 0 18px
    }
    body.hub-story main .belief-quote h2 span{color:var(--blue)}
    body.hub-story main .belief-quote p{font-size:18px;color:var(--slate);max-width:740px;margin:auto}

    
    body.hub-story main .check-list > div,
    body.hub-story main .check{font-size:var(--text-body) !important;line-height:var(--lh-card);color:var(--slate)}
    body.hub-story main .layer-visual{
      border-radius:28px;background:linear-gradient(135deg,#071738,#0E2C69);color:#fff;padding:34px;box-shadow:var(--shadow)
    }
    body.hub-story main .merchant-id{
      border:1px solid rgba(255,255,255,.14);border-radius:19px;padding:24px;background:rgba(255,255,255,.06)
    }
    body.hub-story main .merchant-id strong{font-size:25px;color:var(--champagne)}
    body.hub-story main .merchant-id p{font-size:var(--text-body);line-height:var(--lh-card);color:rgba(255,255,255,.72);margin:8px 0 0}
    body.hub-story main .layer-grid .copy .btn{
      margin-top:28px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:44px;
      padding:10px 18px;
      border-radius:12px;
      font-size:14px;
      font-weight:800;
    }
    body.hub-story main .layer-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
    body.hub-story main .layer-flow div{
      border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:15px;background:rgba(255,255,255,.05)
    }
    body.hub-story main .layer-flow b{display:block;font-size:var(--text-small);line-height:var(--lh-card)}
    body.hub-story main .layer-flow span{font-size:var(--text-meta);line-height:var(--lh-card);color:rgba(255,255,255,.7)}

    
    body.hub-story main .journey{position:relative}
    body.hub-story main .journey:before{
      content:"";position:absolute;left:30px;right:30px;top:43px;height:2px;background:linear-gradient(90deg,var(--champagne),var(--blue))
    }
    body.hub-story main .journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
    body.hub-story main .stage{position:relative;padding-top:74px}
    body.hub-story main .stage-dot{
      position:absolute;top:26px;left:18px;width:34px;height:34px;border-radius:50%;background:var(--navy);
      color:#fff;display:grid;place-items:center;font-size:10px;font-weight:950;border:5px solid #fff;box-shadow:0 0 0 1px var(--line)
    }
    body.hub-story main .stage-card{
      border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff;min-height:225px;
      box-shadow:0 8px 26px rgba(2,6,23,.04)
    }
    body.hub-story main .stage-card small{font-size:var(--text-meta);color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
    html[lang="ar"] body.hub-story main .stage-card small{letter-spacing:normal}
    body.hub-story main .stage-card h3{font-size:var(--text-card-title);color:var(--navy);margin:8px 0 10px;line-height:var(--lh-card);letter-spacing:var(--tracking-heading)}
    body.hub-story main .stage-card p{font-size:var(--text-body);color:var(--slate);margin:0;line-height:var(--lh-card)}

    
    body.hub-story main .principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    body.hub-story main .principle{
      border:1px solid var(--line);border-radius:20px;padding:25px;background:#fff
    }
    body.hub-story main .principle .num{font-size:var(--text-meta);color:var(--blue);font-weight:800}
    body.hub-story main .principle h3{font-size:var(--text-card-title);color:var(--navy);margin:8px 0 9px;line-height:var(--lh-card);letter-spacing:var(--tracking-heading)}
    body.hub-story main .principle p{font-size:var(--text-body);color:var(--slate);margin:0;line-height:var(--lh-card)}

    
    body.hub-story main .region-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}
    body.hub-story main .map-card{
      min-height:390px;border-radius:28px;position:relative;overflow:hidden;
      background:
        radial-gradient(circle at 47% 50%,rgba(231,207,163,.48) 0 7px,transparent 8px),
        radial-gradient(circle at 58% 41%,rgba(29,78,216,.5) 0 5px,transparent 6px),
        radial-gradient(circle at 64% 61%,rgba(29,78,216,.35) 0 5px,transparent 6px),
        linear-gradient(145deg,#F8FAFC,#E8EEF8);
      border:1px solid var(--line)
    }
    body.hub-story main .map-card:before{
      content:"AFRICA";position:absolute;inset:0;display:grid;place-items:center;
      color:rgba(11,31,77,.08);font-size:86px;font-weight:950;letter-spacing:.18em
    }
    body.hub-story main .egypt-pin{
      position:absolute;left:42%;top:39%;background:var(--navy);color:#fff;border-radius:999px;padding:8px 11px;
      font-size:11px;font-weight:900;box-shadow:var(--shadow-soft)
    }
    body.hub-story main .egypt-pin:before{content:"";display:inline-block;width:7px;height:7px;background:var(--champagne);border-radius:50%;margin-inline-end:6px}
    body.hub-story main .map-card--image{
      min-height:0;padding:0;background:var(--navy);border:0;
    }
    body.hub-story main .map-card--image:before{content:none;display:none}
    body.hub-story main .map-card--image img{
      width:100%;height:auto;display:block;background:var(--navy);
    }

    
    body.hub-story main .ecosystem-row{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
    body.hub-story main .eco{
      border:1px solid rgba(255,255,255,.13);border-radius:17px;padding:21px;
      background:rgba(255,255,255,.05)
    }
    body.hub-story main .eco h3{font-size:var(--text-card-title);color:#fff;margin:0 0 8px;line-height:var(--lh-card)}
    body.hub-story main .eco p{font-size:var(--text-body);color:rgba(255,255,255,.78);margin:0;line-height:var(--lh-card)}

    
    body.hub-story main .closing-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
    body.hub-story main .future-box{
      border-radius:28px;background:linear-gradient(135deg,#081638,#143C88);color:#fff;padding:34px;box-shadow:var(--shadow)
    }
    body.hub-story main .future-box small{color:var(--champagne);font-weight:950;text-transform:uppercase;letter-spacing:.1em}
    body.hub-story main .future-box h3{font-size:var(--text-h3);line-height:var(--lh-h3);margin:12px 0 15px;letter-spacing:var(--tracking-heading)}
    body.hub-story main .future-box p{font-size:var(--text-body);color:rgba(255,255,255,.78);line-height:var(--lh-card)}
    body.hub-story main .future-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
    body.hub-story main .future-tags span{background:rgba(255,255,255,.08);padding:8px 10px;border-radius:999px;font-size:10px;font-weight:800}

    
    body.hub-story main .final-cta{
      padding:82px 0;color:#fff;
      background:linear-gradient(110deg,#081638,#0B1F4D 55%,#163E8A)
    }
    body.hub-story main .cta-row{display:flex;justify-content:space-between;align-items:center;gap:40px}
    body.hub-story main .cta-row h2{font-size:var(--text-h2);line-height:var(--lh-h2);letter-spacing:var(--tracking-heading);margin:0 0 14px}
    body.hub-story main .cta-row p{color:rgba(255,255,255,.7);max-width:650px;margin:0}
    body.hub-story main .cta-actions{display:flex;gap:10px;flex-shrink:0}

    
    
    
    
    
    
    
    
    


    
    body.hub-story main .proof-section{
      padding:0 0 86px;
      background:#fff;
      position:relative;
      z-index:3;
    }
    body.hub-story main .proof-panel{
      margin-top:0;
      border:1px solid var(--line);
      border-radius:26px;
      background:#fff;
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    body.hub-story main .proof-intro{
      padding:28px 28px 6px;
      display:block;
      border-bottom:0;
    }
    body.hub-story main .proof-intro p{
      margin:0 0 8px;
      color:var(--blue);
      font-size:12px;
      font-weight:800;
      line-height:var(--lh-card);
      letter-spacing:.04em;
      max-width:none;
    }
    html[lang="ar"] body.hub-story main .proof-intro p{
      letter-spacing:normal;
    }
    body.hub-story main .proof-intro h2{
      margin:0;
      color:var(--navy);
      font-size:var(--text-h3);
      line-height:var(--lh-h3);
      letter-spacing:var(--tracking-heading);
    }
    body.hub-story main .metric-grid{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:12px;
      padding:16px 16px 18px;
    }
    body.hub-story main .metric{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      padding:20px 18px 18px;
      min-height:0;
      border:0;
      border-radius:18px;
      background:var(--surface);
      position:relative;
    }
    body.hub-story main .metric:last-child{border-inline-end:0}
    body.hub-story main .metric--featured{
      background:linear-gradient(180deg,var(--champagne-2),var(--champagne-soft));
    }
    body.hub-story main .metric-icon{
      position:static;
      inset:auto;
      width:36px;
      height:36px;
      margin:0 0 14px;
      border-radius:11px;
      display:grid;
      place-items:center;
      background:#EEF4FF;
      color:var(--blue);
      font-weight:400;
      font-size:18px;
    }
    body.hub-story main .metric-icon i{
      font-size:18px;
      line-height:1;
    }
    body.hub-story main .metric--featured .metric-icon{
      background:#F3E9D4;
      color:#815D30;
    }
    body.hub-story main .metric-value{
      display:block;
      font-size:clamp(1.65rem,2.6vw,2.35rem);
      line-height:1.05;
      color:var(--navy);
      font-weight:800;
      letter-spacing:-.04em;
      margin-bottom:8px;
    }
    body.hub-story main .metric-value.gold,
    body.hub-story main .metric--featured .metric-value{color:#815D30}
    html[lang="ar"] body.hub-story main .metric-value{
      font-size:clamp(1.35rem,2.1vw,1.85rem);
      font-weight:800;
      font-synthesis:none;
      letter-spacing:normal;
      direction:ltr;
      unicode-bidi:isolate;
      text-align:start;
      white-space:nowrap;
    }
    body.hub-story main .metric-label{
      display:block;
      color:var(--navy);
      font-weight:var(--fw-heading);
      font-size:var(--text-body);
      line-height:var(--lh-card);
      margin-bottom:4px;
    }
    body.hub-story main .metric-sub{
      display:block;
      color:var(--slate);
      font-size:var(--text-meta);
      line-height:var(--lh-card);
      margin-top:auto;
    }
    body.hub-story main .metric-country{
      display:inline-flex;
      align-items:center;
      gap:5px;
      padding:4px 8px;
      border-radius:999px;
      background:#fff;
      color:#815D30;
      font-size:var(--text-meta);
      font-weight:800;
      margin-top:10px;
    }

    
    body.hub-story main .backed-section{
      padding:4px 0 28px;
      background:#fff;
    }
    body.hub-story main .backed-section + .section{
      padding-top:48px;
    }
    body.hub-story main .backed-head{
      display:grid;
      grid-template-columns:1fr .75fr;
      gap:45px;
      align-items:end;
      margin-bottom:30px;
    }
    body.hub-story main .backed-head h2{
      font-size:var(--text-h2);
      line-height:var(--lh-h2);
      letter-spacing:var(--tracking-heading);
      margin:12px 0 0;
      color:var(--navy);
    }
    body.hub-story main .backed-head p{
      margin:0;
      color:var(--slate);
      font-size:var(--text-body);
      line-height:var(--lh-body);
    }
    body.hub-story main .logo-wall{
      border:1px solid var(--line);
      border-radius:24px;
      background:linear-gradient(145deg,#fff,#F8FAFC);
      padding:22px;
      box-shadow:var(--shadow-soft);
    }
    body.hub-story main .logo-wall-top{
      display:flex;
      justify-content:space-between;
      gap:20px;
      align-items:center;
      margin-bottom:18px;
    }
    body.hub-story main .logo-wall-top strong{
      color:var(--navy);
      font-size:13px;
      letter-spacing:.01em;
    }
    body.hub-story main .logo-wall-top span{
      color:var(--muted);
      font-size:10px;
      font-weight:800;
    }
    body.hub-story main .investor-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
    }
    body.hub-story main .investor-logo{
      height:112px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:1px solid #E5EBF3;
      background:#fff;
      border-radius:15px;
      padding:14px 18px;
      overflow:hidden;
      transition:.2s ease;
    }
    body.hub-story main .investor-logo:hover{
      box-shadow:0 12px 28px rgba(2,6,23,.07);
    }
    body.hub-story main .investor-logo img{
      width:100%;
      height:100%;
      max-height:88px;
      object-fit:contain;
      display:block;
    }
    body.hub-story main .backed-note{
      margin-top:16px;
      font-size:11px;
      color:var(--muted);
      line-height:1.55;
    }

    @media(max-width:1020px){

      
      body.hub-story main .hero-grid,
body.hub-story main .why-grid,
body.hub-story main .layer-grid,
body.hub-story main .region-grid,
body.hub-story main .closing-grid{grid-template-columns:1fr}
      body.hub-story main .journey-grid{grid-template-columns:repeat(2,1fr)}body.hub-story main .journey:before{display:none}
      body.hub-story main .principle-grid{grid-template-columns:repeat(2,1fr)}
      body.hub-story main .ecosystem-row{grid-template-columns:repeat(3,1fr)}
      body.hub-story main .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
      body.hub-story main .investor-grid{grid-template-columns:repeat(3,1fr)}
      body.hub-story main .backed-head{grid-template-columns:1fr}
      
    
}


    @media(max-width:720px){

      body.hub-story main .container{padding:0 20px}body.hub-story main .section{padding:72px 0}body.hub-story main .hero{padding-top:68px}
      
      body.hub-story main .hero h1{font-size:var(--j2p-hero-h1)}body.hub-story main .hero-visual{min-height:0}
      body.hub-story main .story-card{width:100%;height:auto}body.hub-story main .story-word{font-size:clamp(1.5rem,5vw,2.25rem)}
      body.hub-story main .journey-grid,
body.hub-story main .principle-grid,
body.hub-story main .ecosystem-row{grid-template-columns:1fr}
      body.hub-story main .stage{padding-top:14px}body.hub-story main .stage-dot{display:none}
      body.hub-story main .layer-flow{grid-template-columns:1fr}
      body.hub-story main .cta-row{display:block}body.hub-story main .cta-actions{margin-top:26px;flex-wrap:wrap}
      body.hub-story main .proof-section{padding-bottom:66px}body.hub-story main .proof-panel{margin-top:0}
      body.hub-story main .proof-intro{padding:22px 20px 4px}
      body.hub-story main .metric-grid{grid-template-columns:1fr 1fr;padding:12px 12px 14px;gap:10px}
      body.hub-story main .metric{padding:18px 16px 16px}
      body.hub-story main .metric:last-child{grid-column:1/-1}
      body.hub-story main .investor-grid{grid-template-columns:1fr 1fr}
      body.hub-story main .backed-section{padding-bottom:20px}
      body.hub-story main .backed-section + .section{padding-top:40px}
      
      body.hub-story main .legal-inline{margin-top:10px;flex-wrap:wrap}
    
}

  