/* ---------- HERO ---------- */
.hero {
    background: linear-gradient(
        135deg,
        #071a52,
        #102b85
    );
    min-height: 100vh;
    color: #fff;
    position: relative;
    overflow: hidden;
    padding-top: var(--header-h);
    box-sizing: border-box;
}

.hero-container {
    max-width: 1400px;
    margin: 10px auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0px 40px 40px;
}

.hero-left {
    width: 50%;
}

.eyebrow {
    color: #ff8a00;
    letter-spacing: 3px;
    font-size: 13px;
}

.hero-left h1 {
    font-size: clamp(2rem, 5vw, 4.5rem);
    line-height: 1.1;
    margin: 20px 0;
    font-weight: 800;
}

.orange {
    color: #ff8a00;
}

.green {
    color: #2ecc71;
}

.hero-left p {
    font-size: 22px;
    line-height: 1.8;
    opacity: .9;
    max-width: 700px;
}

.hero-buttons {
    display: flex;
    gap: 20px;
    margin-top: 40px;
}

.btn-primary {
    background: #ff7a00;
    color: white;
    padding: 18px 35px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
}

.btn-secondary {
    border: 1px solid rgba(255,255,255,.3);
    padding: 18px 35px;
    border-radius: 12px;
    color: white;
    text-decoration: none;
}

.hero-right {
    width: 50%;
    position: relative;
}

.workers {
    width: 100%;
    z-index: 2;
    position: relative;
}

.india-map {
    position: absolute;
    inset: 0;
    background: url("/india-map.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: .15;
}

.floating-card {
    position: absolute;
    background: rgba(22, 36, 92, 0.85);
    backdrop-filter: blur(15px);

    border: 1.5px solid rgba(73, 255, 133, 0.45);

    color: #dfffe8;

    font-size: 16px;
    font-weight: 600;

    padding: 14px 24px;
    border-radius: 999px;

    box-shadow:
        0 0 20px rgba(73,255,133,.15),
        inset 0 0 10px rgba(73,255,133,.08);

    z-index: 10;
    white-space: nowrap;
}

.card-1{
    top: 8%;
    right: 0;
}

.card-2{
    left: -40px;
    top: 45%;
}

.card-3{
    right: 20px;
    bottom: 12%;
}

.workers{
    width: 125%;
    max-width: none;

    position: relative;
    left: -60px;

    z-index: 2;
}

.hero-right{
    width: 45%;
    position: relative;
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-left p{
    max-width: 620px;
    font-size: 20px;
    line-height: 1.7;
}
.hero-container{
    display:flex;
    align-items:center;

    gap:40px;
}

.hero-left{
    width:55%;
}

.hero-right{
    width:45%;
}
@media(max-width:1024px){

.hero-container{
    flex-direction:column;
    text-align:center;
}

.hero-left,
.hero-right{
    width:100%;
}

.hero-left h1{
    font-size:54px;
}

.workers{
    width:90%;
    left:0;
}

.card-1{
    top:10%;
    right:5%;
}

.card-2{
    left:5%;
}

.card-3{
    right:10%;
}

}

@media(max-width:768px){

.hero{
    min-height:auto;
}

.hero-container{
    padding:60px 20px;
}

.hero-left h1{
    font-size:42px;
    line-height:1.1;
}

.hero-left p{
    font-size:18px;
}

.hero-buttons{
    flex-direction:column;
}

.btn-primary,
.btn-secondary{
    width:100%;
    text-align:center;
}

.workers{
    width:100%;
    left:0;
}

.floating-card{
    font-size:13px;
    padding:10px 16px;
}

.card-1{
    top:5%;
    right:0;
}

.card-2{
    left:0;
    top:50%;
}

.card-3{
    right:0;
    bottom:5%;
}

.stats-bar{
    grid-template-columns:1fr;
}
}

.workers{
    filter:
        drop-shadow(0 0 30px rgba(255,255,255,.15))
        drop-shadow(0 0 60px rgba(73,255,133,.08));
}

.stats-strip{

    width:100%;
    max-width:1200px;

    margin:5px auto 50px;

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

    padding:22px 28px;

    background:rgba(255,255,255,0.04);

    border:1px solid rgba(255,255,255,0.08);

    backdrop-filter:blur(18px);

    border-radius:20px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.15);
}

.stat-item{

    display:flex;
    align-items:center;
    gap:15px;

    flex:1;
}

.stat-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.stat-icon img {
    width: 48px;      /* Change as needed */
    height: 48px;
    object-fit: contain;
    display: block;
}

.stat-item h3{

    font-size:24px;
    font-weight:700;

    color:#fff;

    margin:0;
    line-height:1.1;
}

.stat-item p{

    margin-top:4px;

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

    font-size:13px;

    line-height:1.4;
}

.divider{

    width:1px;
    height:50px;

    background:rgba(255,255,255,.08);
}
.stat-item:hover .stat-icon{

    border-color:#4dff89;

    box-shadow:
    0 0 20px rgba(77,255,137,.20);

    transform:translateY(-2px);

    transition:.3s;
}
@media(max-width:768px){

.stats-strip{

    flex-direction:column;

    gap:18px;

    padding:20px;
}

.divider{
    display:none;
}

.stat-item{

    width:100%;
}
}

/* Brand statement — replaces the hero stats counters */
.brand-statement{
    width:100%;
    max-width:1200px;
    margin:5px auto 50px;
    padding:38px 28px;
    text-align:center;
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.08);
    backdrop-filter:blur(18px);
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.brand-statement p{
    margin:0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:12px 18px;
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:clamp(20px,2.6vw,32px);
    color:rgba(255,255,255,.92);
    letter-spacing:.01em;
}

.brand-statement .accent{
    color:#4dff89;
}

@media(max-width:768px){
    .brand-statement{
        padding:26px 20px;
        margin:5px auto 36px;
    }
    .brand-statement p{
        font-size:clamp(18px,5vw,24px);
        gap:6px 10px;
    }
}



.hero{
    position:relative; padding:168px 0 0; background:linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 62%, #24347d 100%);
    color:var(--white); overflow:hidden;
  }
  .hero .wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; padding-bottom:40px;}
  .hero h1{color:var(--white); font-size:clamp(34px,4.2vw,54px); line-height:1.08; margin-bottom:22px;}
  .hero h1 em{font-style:normal; color:#FFD8B5;}
  .hero p.lead{color:rgba(255,255,255,0.78); font-size:17.5px; max-width:520px; margin-bottom:32px;}
  .hero-ctas{display:flex; gap:14px; margin-bottom:44px;}
  .hero-stats{display:flex; gap:34px; border-top:1px solid rgba(255,255,255,0.16); padding-top:24px;}
  .hero-stats div{display:flex; flex-direction:column;}
  .hero-stats .num{font-family:'JetBrains Mono'; font-size:26px; font-weight:600; color:var(--white);}
  .hero-stats .lbl{font-size:12.5px; color:rgba(255,255,255,0.6); margin-top:2px;}

  /* Bridge signature graphic */
  .hero-photo-wrap{position:relative;}
  .hero-photo-card{
    position:relative; border-radius:20px; overflow:hidden;
    border:1px solid rgba(255,255,255,0.18);
    box-shadow:0 30px 70px rgba(0,0,0,0.35);
    aspect-ratio:16/10.2;
  }
  .hero-photo-card img{width:100%; height:100%; object-fit:cover; object-position:center 30%;}
  .photo-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,29,77,0.05) 0%, rgba(20,29,77,0.35) 100%); pointer-events:none;}
  .photo-badge{
    position:absolute; display:flex; align-items:center; gap:7px;
    background:rgba(15,22,56,0.72); backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,0.18); border-radius:30px;
    padding:8px 14px; font-family:'JetBrains Mono'; font-size:11.5px; font-weight:600; color:#fff;
  }
  .photo-badge.tl{top:16px; left:16px;}
  .photo-badge.br{bottom:16px; right:16px; background:rgba(40,167,69,0.85); border-color:rgba(255,255,255,0.25);}
  .photo-badge .dot{width:7px;height:7px;border-radius:50%; background:var(--orange); display:inline-block;}
  .bridge-caption{
    margin-top:16px; text-align:center;
    font-family:'JetBrains Mono'; font-size:11.5px; color:rgba(255,255,255,0.55);
    letter-spacing:.06em;
  }

  .hero-wave{display:block; width:100%; margin-top:20px;}

  /* ---------- TRUSTED BY ---------- */
  .trusted{background:var(--white); padding:34px 0; border-bottom:1px solid var(--border);}
  .trusted .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .trusted .label{font-family:'JetBrains Mono'; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-soft); white-space:nowrap;}

  /* Continuous, jitter-free logo marquee (pure CSS — no layout thrash) */
  .logo-marquee{
    width:100%;
    margin-top:20px;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  }
  .logo-track{
    display:flex;
    align-items:center;
    width:max-content;
    gap:64px;
    animation:logo-marquee-scroll 26s linear infinite;
    will-change:transform;
  }
  .logo-marquee:hover .logo-track{animation-play-state:paused;}
  .logo-track img{
    height:40px;
    width:auto;
    flex-shrink:0;
    object-fit:contain;
    opacity:.8;
    transition:opacity .3s ease, transform .3s ease;
  }
  .logo-track img:hover{opacity:1; transform:scale(1.08);}

  @keyframes logo-marquee-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(calc(-50% - 32px));}
  }

  @media (prefers-reduced-motion: reduce){
    .logo-track{animation:none;}
  }

  /* ---------- SECTION GENERIC ---------- */
  section{padding:96px 0;}
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .section-head h2{font-size:clamp(26px,3vw,36px);}
  .section-head p{color:var(--text-soft); font-size:16.5px;}

  /* Problem statement */
  .problem{background:var(--white);}
  .problem-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .problem-card{border:1px solid var(--border); border-radius:var(--radius); padding:28px; background:var(--bg);}
  .problem-card .num{font-family:'JetBrains Mono'; color:var(--orange); font-weight:600; font-size:13px; margin-bottom:14px; display:block;}
  .problem-card h3{font-size:18px; margin-bottom:8px;}
  .problem-card p{color:var(--text-soft); font-size:14.5px; margin:0;}

  /* Stakeholder ecosystem - the bridge pillars */
 /* =========================
   ECOSYSTEM SECTION
========================= */

.ecosystem{
    background:linear-gradient(180deg,#EEF1F8,var(--bg));
    padding:100px 0;
}

.pillars{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:28px;

    max-width:1200px;
    margin:60px auto 0;

    position:relative;
}

/* =========================
   CARD
========================= */

.pillar{
    background:var(--white);

    border:1px solid rgba(0,0,0,.06);

    border-radius:24px;

    padding:36px 28px;

    position:relative;

    overflow:hidden;

    transition:all .35s ease;

    box-shadow:
    0 10px 30px rgba(0,0,0,.05);
}

.pillar:hover{

    transform:translateY(-8px);

    box-shadow:
    0 20px 50px rgba(0,0,0,.10);
}

/* =========================
   TOP COLOR STRIP
========================= */

.pillar .deck{
    position:absolute;

    top:0;
    left:0;
    right:0;

    height:4px;
}

.pillar.p1 .deck{
    background:#304FA2;
}

.pillar.p2 .deck{
    background:#F47C20;
}

.pillar.p3 .deck{
    background:#28A745;
}

/* =========================
   ICONS
========================= */

.icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #f5f8ff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;   /* Important */
    margin: 0 auto 20px;
}

.icon img {
    width: 80px;
    height: 80px;
    object-fit: contain;
}

/* =========================
   TYPOGRAPHY
========================= */

.pillar h3{

    font-size:22px;

    font-weight:700;

    margin-bottom:12px;

    color:#111827;
}

.pillar p{

    font-size:15px;

    line-height:1.7;

    color:#64748B;

    margin-bottom:22px;
}

/* =========================
   FEATURE LIST
========================= */

.pillar ul{

    list-style:none;

    margin:0;
    padding:0;

    display:flex;
    flex-direction:column;

    gap:12px;
}

.pillar li{

    display:flex;

    align-items:flex-start;

    gap:10px;

    font-size:14px;

    color:#334155;

    line-height:1.6;
}

.pillar li::before{

    content:"✓";

    color:#22C55E;

    font-weight:700;

    flex-shrink:0;
}

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

@media(max-width:1024px){

    .pillars{

        grid-template-columns:1fr 1fr;

        gap:22px;
    }

    .pillar{

        padding:30px 24px;
    }

    .pillar h3{

        font-size:20px;
    }
}

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

@media(max-width:768px){

    .ecosystem{
        padding:70px 0;
    }

    .pillars{

        grid-template-columns:1fr;

        gap:18px;

        margin-top:40px;
    }

    .pillar{

        padding:28px 22px;
    }

    .pillar .icon{

        width:56px;
        height:56px;

        font-size:24px;
    }

    .pillar h3{

        font-size:18px;
    }

    .pillar p{

        font-size:14px;
    }

    .pillar li{

        font-size:13px;
    }
}

  /* Modules tabs */
  .modules{background:var(--white);}
  .tab-bar{display:flex; gap:8px; margin-bottom:36px; flex-wrap:wrap;}
  .tab-btn{
    padding:11px 20px; border-radius:9px; border:1px solid var(--border); background:var(--white);
    font-family:'Inter'; font-weight:600; font-size:14px; cursor:pointer; color:var(--text-soft);
  }
  .tab-btn.active{background:var(--navy); color:#fff; border-color:var(--navy);}
  .tab-panel{display:none; grid-template-columns:repeat(3,1fr); gap:18px;}
  .tab-panel.active{display:grid;}
  .mod-card{border:1px solid var(--border); border-radius:12px; padding:22px; background:var(--bg);}
  .mod-card h4{font-size:15.5px; margin-bottom:6px; color:var(--navy);}
  .mod-card p{font-size:13.5px; color:var(--text-soft); margin:0;}

/* Dashboard showcase */
.dash{
    background:var(--navy-deep);
    color:#fff;
}

.dash .section-head h2,
.dash .section-head p{
    color:#fff;
}

.dash .section-head p{
    color:rgba(255,255,255,.65);
}

/* Dashboard Image Container */
.dashboard-view{
    margin-top:40px;
    background:#0F1638;
    border:1px solid rgba(255,255,255,.1);
    border-radius:16px;
    padding:20px;
    box-shadow:0 30px 70px rgba(0,0,0,.4);
    overflow:hidden;
}

.dashboard-view img{
    width:100%;
    height:auto;
    max-width:100%;
    display:block;
    border-radius:10px;
    object-fit:contain;
    aspect-ratio:940/553;
    transition:opacity .35s ease;
}

/* Dashboard Tabs */
.dash-tabs{
    display:flex;
    gap:8px;
    margin-top:28px;
    flex-wrap:wrap;
    justify-content:center;
}

.dash-tabs button{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.7);
    padding:9px 16px;
    border-radius:8px;
    font-size:13px;
    cursor:pointer;
    font-family:'Inter';
    font-weight:500;
    transition:.3s ease;
}

.dash-tabs button:hover{
    background:rgba(255,255,255,.12);
    color:#fff;
}

.dash-tabs button.active{
    background:#fff;
    color:var(--navy-deep);
    font-weight:600;
}

@media (max-width:768px){

    .dashboard-view{
        padding:12px;
        border-radius:12px;
    }

    .dashboard-view img{
        border-radius:8px;
    }

    .dash-tabs{
        gap:10px;
    }

    .dash-tabs button{
        width:100%;
        text-align:center;
    }
}

  /* How it works */
  .how{background:var(--bg);}
  .steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;}
  .step{position:relative; padding:0 20px 0 0;}
  .step:not(:last-child)::after{
    content:''; position:absolute; top:22px; right:-10px; width:calc(100% - 24px); height:2px;
    background:repeating-linear-gradient(90deg, var(--border) 0 8px, transparent 8px 14px);
  }
  .step .idx{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono';font-weight:600;margin-bottom:18px; position:relative; z-index:2;}
  .step h4{font-size:15.5px; margin-bottom:6px;}
  .step p{font-size:13.5px; color:var(--text-soft);}

  /* Industries — orbit / hub-and-spoke layout */
  .industries{background:var(--white); overflow:hidden;}

  .orbit{
    position:relative;
    display:grid;
    grid-template-columns:1fr 260px 1fr;
    align-items:center;
    gap:10px;
    max-width:1180px;
    margin:50px auto 0;
    padding:30px 0 50px;
  }

  .orbit-rings{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:620px; height:620px; z-index:0; pointer-events:none;
  }
  .orbit-ring{fill:none;}
  .orbit-ring-dashed{
    stroke:rgba(16,43,133,.28); stroke-width:2; stroke-dasharray:5 9;
    transform-origin:320px 320px;
    animation:orbit-spin 50s linear infinite;
  }
  .orbit-ring-soft{stroke:rgba(48,79,162,.08); stroke-width:1;}
  .orbit-dots .dot{r:6; transform-origin:center; animation:orbit-pulse 2.6s ease-in-out infinite;}
  .orbit-dots .dot-orange{fill:var(--orange);}
  .orbit-dots .dot-navy{fill:var(--navy);}
  .orbit-dots .dot:nth-child(2n){animation-delay:.4s;}
  .orbit-dots .dot:nth-child(3n){animation-delay:.8s;}
  .orbit-dots .dot:nth-child(4n){animation-delay:1.2s;}

  @keyframes orbit-spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
  @keyframes orbit-pulse{ 0%,100%{transform:scale(1); opacity:1;} 50%{transform:scale(1.5); opacity:.55;} }

  .orbit-center{
    position:relative; z-index:2;
    grid-column:2;
    grid-row:1;
    width:230px; height:230px;
    margin:0 auto;
    border-radius:50%;
    background:var(--white);
    border:1px solid var(--border);
    box-shadow:0 24px 54px rgba(16,43,133,.14);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center;
  }
  .orbit-rule{width:46px; height:2px; background:var(--orange); margin:10px 0;}
  .orbit-center h3{
    font-family:'Poppins'; font-weight:800; font-size:23px; line-height:1.2;
    color:var(--navy); letter-spacing:.01em; margin:0;
  }
  .orbit-center h3 em{font-style:normal; color:var(--orange); display:block;}

  .orbit-col{position:relative; z-index:2; display:flex; flex-direction:column; gap:16px;}
  .orbit-col-left{grid-column:1; grid-row:1;}
  .orbit-col-right{grid-column:3; grid-row:1;}

  .orbit-card{
    display:flex; align-items:center; gap:14px;
    background:var(--white); border:1px solid var(--border); border-radius:16px;
    padding:14px 18px;
    box-shadow:0 10px 24px rgba(16,43,133,.05);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .orbit-card:hover{
    transform:translateY(-6px) scale(1.015);
    box-shadow:0 20px 40px rgba(16,43,133,.16);
    border-color:var(--blue);
  }
  .orbit-icon{
    width:54px; height:54px; flex-shrink:0; border-radius:50%;
    display:flex; align-items:center; justify-content:center; overflow:hidden;
  }
  .orbit-icon img{width:100%; height:100%; object-fit:contain; transition:transform .35s ease;}
  .orbit-card:hover .orbit-icon img{transform:scale(1.12) rotate(-4deg);}
  .orbit-label span{display:block; font-weight:700; font-size:14px; color:var(--navy); line-height:1.3;}
  .orbit-label i{display:block; width:24px; height:3px; border-radius:2px; background:var(--orange); margin-top:7px; font-style:normal;}

  @media (max-width:1023px){
    .orbit{grid-template-columns:1fr;}
    .orbit-rings{display:none;}
    .orbit-center{order:-1; margin-bottom:10px; grid-column:1;}
    .orbit-col{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
    .orbit-col-left, .orbit-col-right{grid-column:1;}
  }
  @media (max-width:576px){
    .orbit-col{grid-template-columns:1fr;}
    .orbit-center{width:190px; height:190px;}
    .orbit-center h3{font-size:19px;}
  }

  @media (prefers-reduced-motion: reduce){
    .orbit-ring-dashed{animation:none;}
    .orbit-dots .dot{animation:none;}
  }

  /* Metrics */
  .metrics{background:linear-gradient(120deg,var(--blue),var(--navy)); color:#fff;}
  .metrics-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
  .metric .v{font-family:'JetBrains Mono'; font-size:42px; font-weight:600;}
  .metric .l{font-size:14px; color:rgba(255,255,255,0.72); margin-top:6px;}

  /* Case studies */
  .cases{background:var(--bg);}
  .case-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .case-grid-2{grid-template-columns:repeat(2,1fr); gap:28px;}
  .case-card{
    background:var(--white); border:1px solid var(--border); border-radius:18px;
    overflow:hidden; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    position:relative;
  }
  .case-card:hover{transform:translateY(-8px); box-shadow:0 24px 48px rgba(31,43,108,.16); border-color:transparent;}
  .case-top{
    height:130px; background:linear-gradient(135deg,var(--navy),var(--blue));
    display:flex; align-items:flex-end; padding:0 26px 18px; position:relative; overflow:hidden;
  }
  .case-top::after{
    content:''; position:absolute; top:-40%; right:-10%; width:220px; height:220px;
    background:radial-gradient(circle, rgba(255,255,255,.14) 0%, transparent 70%);
    border-radius:50%;
  }
  .case-top span{font-family:'JetBrains Mono'; color:#fff; font-size:14px; font-weight:600; letter-spacing:.02em; position:relative; z-index:1;}
  .case-body{padding:28px;}
  .case-body h4{font-size:17.5px; margin-bottom:10px; line-height:1.35; color:var(--navy);}
  .case-features{list-style:none; margin:16px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 14px;}
  .case-features li{
    font-size:13px; color:var(--navy); font-weight:600; padding:6px 0 6px 22px; position:relative;
  }
  .case-features li::before{
    content:'✓'; position:absolute; left:0; top:5px; width:16px; height:16px; line-height:16px; text-align:center;
    color:#fff; font-size:10px; font-weight:700; background:var(--green); border-radius:50%;
  }
  .case-stat{display:flex; flex-wrap:wrap; gap:20px; margin-top:20px; padding-top:18px; border-top:1px dashed var(--border);}
  .case-stat div .v{font-family:'JetBrains Mono'; color:var(--green); font-weight:700; font-size:20px;}
  .case-stat div .l{font-size:11.5px; color:var(--text-soft); margin-top:2px;}

  @media (max-width:767px){
    .case-grid-2{grid-template-columns:1fr;}
    .case-features{grid-template-columns:1fr;}
  }

/* ==========================
   Testimonials
========================== */

.testi{
    background:var(--white);
}

.testimonialSwiper{
    margin-top:40px;
    overflow:hidden;
}

.testimonialSwiper .swiper-slide{
    height:auto;
    display:flex;
}

.testi-card{
    width:100%;
    background:var(--bg);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:28px;
    transition:.3s ease;
}

.testi-card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.testi-card p{
    font-size:15px;
    line-height:1.8;
    color:var(--text);
    margin-bottom:24px;
    min-height:110px;
}

/* Client Details */

.testi-who{
    display:flex;
    align-items:center;
    gap:14px;
}

/* Profile Image */

.testi-who img{
    width:52px;
    height:52px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #fff;
    box-shadow:0 3px 10px rgba(0,0,0,.12);
}

.testi-who .name{
    font-size:15px;
    font-weight:600;
    color:var(--navy);
    margin-bottom:3px;
}

.testi-who .role{
    font-size:13px;
    color:var(--text-soft);
    line-height:1.4;
}

@media (max-width:768px){

    .testi-card{
        padding:22px;
    }

    .testi-card p{
        min-height:auto;
        font-size:14px;
        line-height:1.7;
    }

    .testi-who img{
        width:46px;
        height:46px;
    }

}

.testi-card{
    position:relative;
}

.testi-card::after{
    content:"❝";
    position:absolute;
    top:18px;
    right:22px;
    font-size:48px;
    color:rgba(39,64,122,.08);
    font-family:Georgia, serif;
    line-height:1;
}

  /* FAQ */
  .faq{background:var(--bg);}
  .faq-list{max-width:780px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--border); padding:20px 0;}
  .faq-q{display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-family:'Poppins'; font-weight:600; font-size:15.5px; color:var(--navy);}
  .faq-q .plus{transition:transform .25s ease; font-size:20px; color:var(--orange);}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-a p{padding-top:12px; font-size:14.5px; color:var(--text-soft); margin:0;}

  /* CTA */
  .cta-final{background:var(--navy-deep); color:#fff; text-align:center;}
  .cta-final h2{color:#fff; font-size:clamp(28px,3.4vw,40px);}
  .cta-final p{color:rgba(255,255,255,0.72); max-width:520px; margin:0 auto 32px;}
  .cta-final .btns{display:flex; gap:16px; justify-content:center;}

  /* Footer */
  footer{background:#0F1638; color:rgba(255,255,255,0.7); padding:64px 0 24px; font-size:14px;}
  .foot-grid{display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:32px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,0.1);}
  .foot-grid h5{font-family:'JetBrains Mono'; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,0.45); margin-bottom:16px;}
  .foot-grid ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
  .foot-grid a:hover{color:#fff;}
  .foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:12.5px; color:rgba(255,255,255,0.4); flex-wrap:wrap; gap:12px;}

  /* reveal animation helper */
  .reveal{opacity:0; transform:translateY(24px);}
