

    /* ══════════════════════════════
       SECTION 1 — HERO
    ══════════════════════════════ */
 /* ══════════════════════════════
       SECTION 1 — HERO
    ══════════════════════════════ */
    .hero {
      /* min-height: 580px;
      display: grid; grid-template-columns: 1fr 1fr;
      align-items: center; padding: 72px 80px;
      position: relative; overflow: hidden; */
            /* background: linear-gradient(160deg, #EEF4FF 0%, #E3EEFF 50%, #D9E8FF 100%);
               position: relative; */

    }
    /* .hero::before {
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background:
        radial-gradient(ellipse 520px 420px at 85% 15%, rgba(40,116,240,.09) 0%, transparent 70%),
        radial-gradient(ellipse 280px 280px at 8% 85%,  rgba(255,208,0,.07) 0%, transparent 70%);
    } */

    /* LEFT */
    /* .hero-left { position: relative; z-index: 2; }
    .hero-badge {
      display: inline-flex; align-items: center; gap: 7px;
      background: transparent !important;color:var(--theme-color1) !important; 
      border-radius: 100px; padding: 6px 16px;
 font-weight: 700; color: var(--blue2);
      letter-spacing: .7px; text-transform: uppercase; margin-bottom: 26px;
    }
    .hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: 3.6rem; line-height: 1.1; color: #111;
      margin-bottom: 22px; letter-spacing: -.5px;
    }
    .hero h1 em { font-style: normal; color: var(--blue); }
    .hero-sub {
      font-size: 1rem; color: #555; line-height: 1.72;
       margin-bottom: 36px;
    }
    .btn-row { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 22px; }
    .btn-primary {
      background: var(--blue); color: #fff; border: none;
      padding: 15px 34px; border-radius: 10px;
      font-size: .95rem; font-weight: 700; cursor: pointer;
      box-shadow: 0 6px 24px rgba(40,116,240,.42);
      transition: background .2s, transform .2s, box-shadow .2s;
    }
    .btn-primary:hover { background: var(--blue2); transform: translateY(-2px); box-shadow: 0 10px 32px rgba(40,116,240,.52); }
    .btn-ghost {
      background: #fff; color: #111;
      border: 1.5px solid #c8d8f8; padding: 14px 28px;
      border-radius: 10px; font-size: .95rem; font-weight: 600; cursor: pointer;
      transition: border-color .2s, background .2s;
    }
    .btn-ghost:hover { border-color: var(--blue); background: rgba(40,116,240,.04); }
    .trust-row { display: flex; align-items: center; gap: 20px; }
    .trust-item {
      display: flex; align-items: center; gap: 6px;
      font-size: .78rem; font-weight: 600; color: #555;
    } */

    /* RIGHT — canvas */
    /* .hero-right {
      position: relative; z-index: 2;
      display: flex; justify-content: center; align-items: center;
    }
    #hero-canvas {
      display: block; border-radius: 50%;
      filter: drop-shadow(0 20px 56px rgba(40,116,240,.2));
    } */

/* section1-css */

 /* STATS BAR */
    /* .stats-bar {
      background: #f5f5f5; padding: 22px 80px;
      display: flex; justify-content: space-around; align-items: center;
    }
    .stat { text-align: center; }
    .stat-num { font-size: 2rem; font-weight: 800; color: var(--theme-color1); display: block; line-height: 1; margin-bottom: 5px; }
    .stat-lbl { font-size: 15px; font-weight: 700; color: var(--theme-color4);text-transform: uppercase; letter-spacing: .6px; }
    .stat-sep { width: 1px; height: 44px; background: rgba(255,255,255,.18); } */

  
 /* section-2 */
 /* ══════════════════════════════
       SECTION 2 — FLIPKART ECOSYSTEM
    ══════════════════════════════ */
    .eco-section {
      background: #F5F8FF;
      /* padding: 64px 80px; */
      border-top: 1px solid var(--bord);
      border-bottom: 1px solid var(--bord);
    }
    .eco-head {
      display: flex; justify-content: space-between; align-items: flex-end;
      margin-bottom: 36px;
    }
    .eco-eyebrow {
      font-size: .72rem; font-weight: 800; letter-spacing: 2.5px;
      text-transform: uppercase; color: var(--blue);
      margin-bottom: 10px; display: block;
    }
    .eco-head h2 {
      font-size: 2.1rem; color: #111; font-weight: 700;
    }
    .eco-head a {
      font-size: .88rem; font-weight: 600; color: var(--blue);
      text-decoration: none; white-space: nowrap;
    }
    .eco-head a:hover { text-decoration: underline; }

    .eco-grid {
      display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px;
    }
    .eco-tile {
      /* background: #fff; border: 1px solid #e2ecfd;
      border-radius: 20px; padding: 32px 16px 24px;
      text-align: center; cursor: pointer; 
      box-shadow: 0 1px 8px rgba(40,116,240,.05);*/
      text-align: center; 
      transition: transform .25s, box-shadow .25s, border-color .25s;
      position: relative; overflow: hidden;
    }
    .eco-tile::after {
      content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, var(--blue), var(--yellow));
      transform: scaleX(0); transform-origin: left; transition: transform .3s;
    }
    .eco-tile .card:hover { transform: translateY(-7px); box-shadow: 0 14px 40px rgba(40,116,240,.16); border-color: rgba(40,116,240,.3); }
    .eco-tile:hover::after { transform: scaleX(1); }
    .eco-tile .et-icon {
      width: 64px; height: 64px; border-radius: 18px;
      margin: 0 auto 18px;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 18px rgba(0,0,0,.13);
      transition: transform .25s, box-shadow .25s;
    }
    .eco-tile:hover .et-icon { transform: scale(1.09); box-shadow: 0 8px 28px rgba(40,116,240,.28); }
    .eco-tile h4 { font-size: .9rem; font-weight: 700; color: #111; margin-bottom: 5px; }
    .eco-tile p  { font-size: .73rem; color: var(--muted); line-height: 1.5; }

    /* ── Card base ── */
    .service-card {
border: 1px solid var(--bord);
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: background .42s cubic-bezier(.4, 0, .2, 1), box-shadow .42s cubic-bezier(.4, 0, .2, 1), transform .18s ease;
    padding: 40px 24px;
    }
  .c1 .icon-disc { background:linear-gradient(145deg,#f3eeff,#e9d8fd); box-shadow:6px 8px 20px rgba(139,92,246,.35),inset -3px -4px 8px rgba(139,92,246,.2),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c2 .icon-disc { background:linear-gradient(145deg,#fff7ed,#fed7aa); box-shadow:6px 8px 20px rgba(249,115,22,.3),inset -3px -4px 8px rgba(249,115,22,.18),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c3 .icon-disc { background:linear-gradient(145deg,#f0fdfa,#ccfbf1); box-shadow:6px 8px 20px rgba(20,184,166,.3),inset -3px -4px 8px rgba(20,184,166,.18),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c4 .icon-disc { background:linear-gradient(145deg,#fff0f9,#fce7f3); box-shadow:6px 8px 20px rgba(236,72,153,.3),inset -3px -4px 8px rgba(236,72,153,.18),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c5 .icon-disc { background:linear-gradient(145deg,#eff6ff,#dbeafe); box-shadow:6px 8px 20px rgba(59,130,246,.3),inset -3px -4px 8px rgba(59,130,246,.18),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c6 .icon-disc { background:linear-gradient(145deg,#f5f3ff,#ede9fe); box-shadow:6px 8px 20px rgba(124,58,237,.35),inset -3px -4px 8px rgba(124,58,237,.2),inset 2px 2px 6px rgba(255,255,255,.8); }

    .icon-wrap {
      width: 90px; height: 90px;
      margin-bottom: 32px; position: relative;
    }
    /* spinning arc */
    .icon-ring {
      position: absolute; inset: -6px; border-radius: 50%;
      border: 3.5px solid transparent;
      transition: transform .6s ease;
    }
    .service-card:hover .icon-ring { transform: rotate(180deg); }
    .c1 .icon-ring { border-top-color:#8b5cf6; border-right-color:#c026d3; }
    .c2 .icon-ring { border-top-color:#f97316; border-right-color:#fbbf24; }
    .c3 .icon-ring { border-top-color:#14b8a6; border-right-color:#06b6d4; }
    .c4 .icon-ring { border-top-color:#ec4899; border-right-color:#f97316; }
    .c5 .icon-ring { border-top-color:#3b82f6; border-right-color:#14b8a6; }
    .c6 .icon-ring { border-top-color:#8b5cf6; border-right-color:#7c3aed; }
    /* .service-card:hover .icon-ring { border-top-color:rgba(255,255,255,.7); border-right-color:rgba(255,255,255,.35); } */

    /* 3-D disc */
    .icon-disc {
      width: 90px; height: 90px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      position: relative;
      transition: transform .4s ease, box-shadow .4s ease;
    }
    /* .c1 .icon-disc { background:linear-gradient(145deg,#f3eeff,#e9d8fd); box-shadow:6px 8px 20px rgba(139,92,246,.35),inset -3px -4px 8px rgba(139,92,246,.2),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c2 .icon-disc { background:linear-gradient(145deg,#fff7ed,#fed7aa); box-shadow:6px 8px 20px rgba(249,115,22,.3),inset -3px -4px 8px rgba(249,115,22,.18),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c3 .icon-disc { background:linear-gradient(145deg,#f0fdfa,#ccfbf1); box-shadow:6px 8px 20px rgba(20,184,166,.3),inset -3px -4px 8px rgba(20,184,166,.18),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c4 .icon-disc { background:linear-gradient(145deg,#fff0f9,#fce7f3); box-shadow:6px 8px 20px rgba(236,72,153,.3),inset -3px -4px 8px rgba(236,72,153,.18),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c5 .icon-disc { background:linear-gradient(145deg,#eff6ff,#dbeafe); box-shadow:6px 8px 20px rgba(59,130,246,.3),inset -3px -4px 8px rgba(59,130,246,.18),inset 2px 2px 6px rgba(255,255,255,.8); }
    .c6 .icon-disc { background:linear-gradient(145deg,#f5f3ff,#ede9fe); box-shadow:6px 8px 20px rgba(124,58,237,.35),inset -3px -4px 8px rgba(124,58,237,.2),inset 2px 2px 6px rgba(255,255,255,.8); }

   */
   /* .c1 .icon-disc,   .c2 .icon-disc,   .c3 .icon-disc,   .c4 .icon-disc,   .c5 .icon-disc,   .c6 .icon-disc{
background: linear-gradient(145deg, #f3eeff, #fafafa);
    box-shadow: 6px 8px 20px rgb(139 92 246 / 0%), inset -3px -4px 8px rgb(225 225 225 / 84%), inset 2px 2px 6px rgba(255, 255, 255, .8);   
   } */
   
    .icon-disc svg { width: 42px; height: 42px; }

    /* glowing dot */
    .icon-dot {
      position: absolute; width: 11px; height: 11px;
      border-radius: 50%; top: 4px; right: 4px;
      transition: transform .4s ease;
    }
    .service-card:hover .icon-dot { transform: scale(1.6) translate(2px,-2px); }
    .c1 .icon-dot { background:radial-gradient(#c026d3,#8b5cf6); box-shadow:0 0 9px #c026d3; }
    .c2 .icon-dot { background:radial-gradient(#fbbf24,#f97316); box-shadow:0 0 9px #f97316; }
    .c3 .icon-dot { background:radial-gradient(#06b6d4,#14b8a6); box-shadow:0 0 9px #14b8a6; }
    .c4 .icon-dot { background:radial-gradient(#f97316,#ec4899); box-shadow:0 0 9px #ec4899; }
    .c5 .icon-dot { background:radial-gradient(#14b8a6,#3b82f6); box-shadow:0 0 9px #3b82f6; }
    .c6 .icon-dot { background:radial-gradient(#c026d3,#7c3aed); box-shadow:0 0 9px #7c3aed; }

   
/* ══ Variables ══ */
/* ══ Theme Colors ══ */
:root {
  --theme-color1: #4b8327; /* green */
  --theme-color2: #d54c0e; /* red-orange */
  --theme-color3: #f18c02; /* orange */
  --theme-color4: #021c49; /* deep navy */
  --white: #ffffff;
  --off: #f0f4f9;
  --muted: #8496b0;
  --bord: #dce5f0;
  --text: #0b1f3a;
  --card-bg: #ffffff;
}

/* ══ Tab Navigation ══ */
.tab-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
}

.tab-btn {
  cursor: pointer;
  padding: 10px 18px;
  border: 1px solid  var(--theme-color1);
  border-radius: 8px;
  background: var(--white);
  color:  var(--theme-color1);
  font-weight: 600;
  transition: 0.3s;
}
.tab-btn.active {
  background: var(--theme-color1);
  color: var(--white) !important;
}
.tab-btn:hover {
  background:  var(--theme-color1);
  color: var(--white);
}

/* ══ Tab Panels ══ */
.tab-panel {
  display: none;
}
.tab-panel.active {
  display: block;
}

/* ══ Layout ══ */
.layout {
  display: flex;
  gap: 48px;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: center;
}
.diagram {
  position: relative;
  /* width: 100%;
  max-width: 340px; */
  aspect-ratio: 1;
  flex-shrink: 0;
  margin: 0 auto;
}
.ring-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.ring-track {
  fill: none;
  stroke: var(--bord);
  stroke-width: 2;
}
.ring-auto {
  fill: none;
  stroke: var(--theme-color3);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-dasharray: 880;
  stroke-dashoffset: 880;
  transition: stroke-dashoffset 0.05s linear;
}
.ring-progress {
  fill: none;
  stroke: var(--theme-color1);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-dasharray: 880;
  stroke-dashoffset: 880;
  transition: stroke-dashoffset 0.6s cubic-bezier(0.4,0,0.2,1);
}

/* ══ Connectors ══ */
.connector {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 2px;
  width: 70px;
  background: linear-gradient(to right, transparent, var(--bord));
  transform-origin: left center;
  pointer-events: none;
  transition: background 0.4s;
}
.connector.active {
  background: linear-gradient(to right, transparent, var(--theme-color3));
}

/* ══ Center Label ══ */
.center-label {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.center-num {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--theme-color4);
  line-height: 1;
  transition: all 0.4s ease;
}
.center-of {
  font-size: 0.75rem;
  color: var(--theme-color1);
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 4px;
}

/* ══ Nodes ══ */
.nodes {
  position: absolute;
  inset: 0;
}
.node {
  position: absolute;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--white);
  border: 2px solid var(--bord);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow: 0 4px 16px #4b832775;
  transform: translate(-50%, -50%);
}
.node:hover {
  transform: translate(-50%, -50%) scale(1.12);
  border-color: var(--theme-color3);
  box-shadow: 0 8px 28px #4b832775;
}
.node.active {
  background: var(--theme-color1);
  border-color: var(--theme-color1);
  box-shadow: 0 0 0 6px #4b832775, 0 8px 32px #4b832775;
  transform: translate(-50%, -50%) scale(1.18);
  color: #fff !important;
}
.node svg {
  width: 26px;
  height: 26px;
  stroke: var(--muted);
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.3s;
}
.node.active svg {
  stroke: var(--white);
}

/* Node Labels */
.node-label {
  position: absolute;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  color: var(--muted);
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  transition: 0.3s;
}
.node.active .node-label {
  color: var(--theme-color4);
}

/* ══ Content Panels & Phase Cards ══ */
.content-panel {
  flex: 1;
  position: relative;
}
.phase-card {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.45s ease, transform 0.45s ease;
  pointer-events: none;
  display: flex;
  flex-direction: column;
}
.phase-card.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  position: relative;
}
.phase-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--theme-color4);
  color: var(--white);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 18px;
  width: fit-content;
}
.phase-tag .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--theme-color3);
}
.phase-title {
  font-size: 1.85rem;
  font-weight: 700;
  color: var(--theme-color4);
  margin-bottom: 16px;
  line-height: 1.25;
}
.phase-desc {
  font-size: 0.9rem;
  line-height: 1.8;
  color: #4a5e7a;
  margin-bottom: 10px;
}
.divider {
  height: 1px;
  background: var(--bord);
  margin: 20px 0;
}
.bullets {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.bullet {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.88rem;
  color: var(--theme-color4);
  font-weight: 400;
  opacity: 0;
  transform: translateX(8px);
}
.phase-card.active .bullet {
  animation: bulletReveal 0.4s ease forwards;
}
.phase-card.active .bullet:nth-child(1) { animation-delay: 0.1s; }
.phase-card.active .bullet:nth-child(2) { animation-delay: 0.2s; }
.phase-card.active .bullet:nth-child(3) { animation-delay: 0.3s; }
.phase-card.active .bullet:nth-child(4) { animation-delay: 0.4s; }
@keyframes bulletReveal {
  to { opacity: 1; transform: translateX(0); }
}
.bullet-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--theme-color1);
  border: 1px solid var(--theme-color1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bullet-icon svg {
  width: 14px;
  height: 14px;
  stroke: var(--white);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ══ Responsive ══ */
@media (max-width: 991.98px) {
  /* .layout { flex-direction: column; gap: 32px; }
  .diagram { max-width: 280px; } */
}
@media (max-width: 575.98px) {
  /* .tab-btn { padding: 8px 12px; font-size: 0.85rem; }
  .phase-title { font-size: 1.5rem; }
  .diagram { max-width: 220px; } */
}
/* INFOGRAPHIC SECTION-circle */

.info-section{
position:relative;
overflow:hidden;
padding:60px 0;
background:#eee;
}

/* CONTAINER */

.infographic{position:relative;max-width: 1243px;margin:auto;height:520px;}


/* CENTER CIRCLE */

.center-circle{
position:absolute;
top:0;
left:0;
    right: 0;
    bottom: 0;
    margin: auto;
/* transform:translate(-50%,-50%); */
width:280px;
height:280px;
background:#fff;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
box-shadow:0 20px 40px rgba(0,0,0,0.15);
z-index:3;
}

.label-top{
font-size:20px;
color:#777;
}

.label-bottom{
font-size:20px;
color:#777;
}


/* DOTTED RING */

.dashed-ring{
position:absolute;
left:0;
right:0;
top:0;
bottom:0;
margin: auto;
width:340px;
height:340px;
text-align: center;
border-radius:50%;
border:2px dashed #9fb0b7;
z-index:1;
}


/* DOTS */

.dot{
position:absolute;
width:14px;
height:14px;
border-radius:50%;
border:3px solid #fff;
transform:translate(-50%,-50%);
box-shadow:0 6px 12px rgba(0,0,0,0.25);
z-index:4;
}


/* BUBBLE */

.bubble{
   
position:absolute;
   
width: 473px;
   
background:#fff;
   
padding:18px;
   
display:flex;
   
gap:15px;
   
box-shadow:0 5px 10px rgba(0,0,0,0.15);
   
z-index:2;
}


/* TEXT */

.bubble-title{
font-weight:700;
margin-bottom:6px;
color:#444;
font-size:18px;
}

.bubble-desc{font-size:14px;color: #000;line-height:1.5;}


/* ICON */

.bubble-icon{
    width: 49px;
    height: 49px;
    line-height: 49px;
    border-radius: 50%;
    border: 3px solid;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
    position: relative;
}

.bubble-icon svg{
      position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    text-align: center;
}
/* COLORS */

.border-orange{border-color:#fb8c00;}
.border-red{border-color:#e53935;}
.border-green{border-color:#43a047;}
.border-blue{border-color:#1e88e5;}
.border-teal{border-color:#00acc1;}
.border-violet{border-color:#8e24aa;}


/* BUBBLE POSITIONS */

.mid-left{
top:0%;
left:-2%;
border-top:4px solid #fb8c00;
border-radius:40px 0;
}

.top-left{
    top: 38%;
    left: -6%;
border-top:4px solid #e53935;
border-radius:40px 0;
}

.bot-left{bottom: 6%;left: 0%;border-top:4px solid #43a047;border-radius:40px 0;}

.mid-right{
top:0%;
right:-2%;
border-top:4px solid #00acc1;
border-radius:0 40px;
}

.top-right{top: 39%;right: -4%;border-top:4px solid #8e24aa;border-radius:0 40px;}

.bot-right{bottom: 6%;right: -2%;border-top:4px solid #1e88e5;border-radius:0 40px;}


.dashed-ring{
animation:spin 35s linear infinite;
}
@keyframes spin{

from{
transform: rotate(0deg);
}

to{
transform:rotate(360deg);
}

}

/* section4-css */
/* ════════════════════════════════
       SECTION 3 — OUR PROCESS
    ════════════════════════════════ */
   /* SECTION 3 — OUR PROCESS */
.process-section {
  background: var(--white);
  padding: 80px;
  border-top: 1px solid var(--bord);
}

.process-timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* vertical connector line */
.process-timeline::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 40px;
  bottom: 40px;
  width: 2px;
  background: linear-gradient(180deg, var(--theme-color4), var(--theme-color3));
  transform: translateX(-50%);
  border-radius: 2px;
}

/* timeline row */
.pt-row {
  display: grid;
  grid-template-columns: 1fr 80px 1fr;
  align-items: center;
  gap: 0;
  padding: 28px 0;
}

/* left card */
.pt-card-left {
  background: var(--white);
  border: 1px solid var(--bord);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 2px 12px rgba(40,116,240,.07);
  text-align: right;
  margin-right: 20px;
  transition: transform .26s, box-shadow .26s;
  position: relative;
}
.pt-card-left:hover {
  transform: translateX(-6px);
  box-shadow: 0 12px 36px rgba(40,116,240,.14);
}

/* right card */
.pt-card-right {
  background: var(--white);
  border: 1px solid var(--bord);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 2px 12px rgba(40,116,240,.07);
  text-align: left;
  margin-left: 20px;
  transition: transform .26s, box-shadow .26s;
  z-index: 0;
    position: relative;
}
.pt-card-right:hover {
  transform: translateX(6px);
  box-shadow: 0 12px 36px rgba(40,116,240,.14);
}

/* empty column placeholder */
.pt-empty { }

/* timeline node */
.pt-node {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}

/* circle */
.pt-circle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--theme-color4);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 900;
  box-shadow: 0 6px 24px rgba(40,116,240,.45);
  border: 4px solid white;
  position: relative;
}

/* node number */
.pt-circle .node-num {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--theme-color3);
  color: var(--white);
  font-size: .62rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* heading & paragraph */
.pt-card-left h4,
.pt-card-right h4 {
  font-size: 1rem;
  font-weight: 700;
  color: #111;
  margin-bottom: 8px;
}
.pt-card-left p,
.pt-card-right p {
  font-size: .83rem;
  color: var(--muted);
  line-height: 1.65;
}

/* icon row */
.pt-card-icon-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.pt-card-left .pt-card-icon-row {
  justify-content: flex-end;
}

/* icon box */
.pt-icon-box {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* tags */
.pt-card-left .pt-tag,
.pt-card-right .pt-tag {
  display: inline-block;
  margin-top: 12px;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: .68rem;
  font-weight: 700;
  background: var(--light2);
  color: var(--theme-color1);
  border: 1px solid rgba(40,116,240,.2);
}
/* DEFAULT (BLUE) */
.pt-card-left,
.pt-card-right {
  border: 1px solid var(--bord);
  transition: all 0.4s ease;
}

.pt-circle {
  background: var(--theme-color4); /* BLUE */
  transition: all 0.4s ease;
}

/* ACTIVE STEP (ONLY ONE) */
.pt-row.active .pt-card-left,
.pt-row.active .pt-card-right {
  border-color: var(--theme-color1); /* GREEN */
  box-shadow: 0 10px 30px rgba(75,131,39,0.25);
}

.pt-row.active .pt-circle {
  background: var(--theme-color1);
}

/* CENTER LINE DEFAULT */
.process-timeline::before {
  background: #dcdcdc;
}

/* ACTIVE LINE */
.process-timeline.active-line::before {
  background: var(--theme-color1);
}
/* fade-up animation */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
.fu { opacity: 0; animation: fadeUp .7s ease forwards; }
.d1 { animation-delay: .1s; }
.d2 { animation-delay: .22s; }
.d3 { animation-delay: .34s; }
.d4 { animation-delay: .46s; }
.d5 { animation-delay: .58s; }

/* responsive adjustments */
@media (max-width: 960px) {
  /* .process-section { padding: 52px 24px; }
  .process-timeline::before { left: 32px; }
  .pt-row { grid-template-columns: 64px 1fr; gap: 16px; }
  .pt-empty { display: none; }
  .pt-card-left { text-align: left; margin-right: 0; }
  .pt-card-left .pt-card-icon-row { justify-content: flex-start; } */
}


