/* Home — brand theme: ivory, blue and gold, with an orbit showing the service and ventures */
.page-home .tag::before{background:var(--gold)}
.hl-blue{color:var(--blue);background:linear-gradient(transparent 80%,rgba(214,162,74,.35) 80%,rgba(214,162,74,.35) 94%,transparent 94%) no-repeat 0 0/0% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:hm-under 1.4s .5s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes hm-under{to{background-size:100% 100%}}
.hm-sec{padding:92px 0;position:relative}
.hm-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.warm{background:linear-gradient(180deg,var(--ivory),#FBF6EC)}
.go{display:inline-block;margin-top:10px;font-weight:700;color:var(--blue-700);text-decoration:none}

/* HERO */
.hm-hero{position:relative;overflow:hidden;padding:64px 0 100px;background:radial-gradient(circle at 92% 8%,rgba(58,106,253,.14),transparent 32%),radial-gradient(circle at 5% 95%,rgba(214,162,74,.16),transparent 28%),linear-gradient(135deg,#FFFCF8,#F9FAFF 56%,#EEF3FF)}
.hm-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.trust{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;color:#55606E;font-size:.92rem;font-weight:600}
.trust li::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--gold);vertical-align:middle}

/* orbit */
.orbit{position:relative;width:min(460px,100%);aspect-ratio:1;margin:0 auto}
.ring{position:absolute;border-radius:50%;border:1.5px dashed rgba(58,106,253,.35)}
.o1{inset:4%;animation:hm-spin 60s linear infinite}
.o2{inset:24%;border-color:rgba(214,162,74,.5);animation:hm-spin 40s linear infinite reverse}
@keyframes hm-spin{to{transform:rotate(360deg)}}
.core{position:absolute;inset:36%;border-radius:50%;display:grid;place-content:center;justify-items:center;gap:6px;background:linear-gradient(145deg,#2450D8,#102255);box-shadow:0 20px 50px rgba(16,34,85,.3),0 0 0 12px rgba(58,106,253,.08);animation:hm-pulse 4s ease-in-out infinite}
.core img{width:44px;height:auto}
.core span{color:#fff;font:600 .95rem/1 var(--head);letter-spacing:.06em;text-transform:uppercase}
@keyframes hm-pulse{50%{box-shadow:0 20px 50px rgba(16,34,85,.3),0 0 0 22px rgba(58,106,253,.04)}}
.sat{position:absolute;display:block;padding:12px 16px;border-radius:16px;background:#fff;border:1px solid #DCE5FF;box-shadow:0 14px 32px rgba(16,34,85,.12);font-weight:700;color:var(--navy);text-decoration:none;animation:hm-bob 6s ease-in-out infinite;transition:transform .3s,border-color .3s}
.sat small{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.sat:hover{border-color:var(--blue);color:var(--blue-700)}
.s1{top:2%;left:30%;border-top:4px solid var(--gold)}
.s2{bottom:16%;right:-2%;border-top:4px solid #F5A623;animation-delay:-2s}
.s3{bottom:12%;left:-2%;border-top:4px solid #762A36;animation-delay:-4s}
@keyframes hm-bob{50%{transform:translateY(-10px)}}

/* PILLARS */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pillar{position:relative;overflow:hidden;padding:30px;border-radius:22px;background:var(--ivory);border:1px solid #EDE5D7;transition:transform .3s,box-shadow .3s}
.pillar::after{content:"";position:absolute;right:-50px;top:-50px;width:130px;height:130px;border-radius:50%;background:var(--pale);transition:transform .5s}
.pillar:nth-child(2)::after{background:var(--gold-soft)}.pillar:nth-child(3)::after{background:#EEF6F2}
.pillar:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(16,34,85,.08)}.pillar:hover::after{transform:scale(1.3)}
.pillar>*{position:relative;z-index:1}
.pillar b{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff;color:var(--blue-700);border:1px solid #DCE5FF;margin-bottom:14px}
.pillar h3{margin:0 0 6px;color:var(--navy);font-size:1.4rem}.pillar p{margin:0}

/* SERVICE */
.service{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;padding:40px;border-radius:28px;background-color:#F7F9FF;background-image:linear-gradient(rgba(58,106,253,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(58,106,253,.06) 1px,transparent 1px);background-size:24px 24px;border:1px solid #D7E1F6;text-decoration:none;color:var(--ink);transition:box-shadow .3s,transform .3s}
.service:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(16,34,85,.12);color:var(--ink)}
.mini-flow{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.mini-flow li{position:relative;padding:14px 18px;border-radius:14px;background:#fff;border:1px solid #DDE5F2;font-weight:700;color:var(--navy);box-shadow:0 6px 18px rgba(16,34,85,.05)}
.mini-flow li+li::before{content:"";position:absolute;left:24px;top:-23px;height:22px;border-left:2px dashed var(--gold)}
.mini-flow li:last-child{background:var(--blue);color:#fff;border-color:var(--blue)}

/* VENTURES */
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.venture{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:32px;border-radius:24px;text-decoration:none;color:var(--ink);border:1px solid;transition:transform .3s,box-shadow .3s}
.venture:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(16,34,85,.14);color:var(--ink)}
.venture::after{content:"";position:absolute;right:-60px;top:-60px;width:170px;height:170px;border-radius:50%;transition:transform .5s}
.venture:hover::after{transform:scale(1.25)}
.venture>*{position:relative;z-index:1}
.v-coconet{background:linear-gradient(160deg,#F4F7FF,#fff 60%,#FFF9EE);border-color:#DCE5FF}
.v-coconet::after{background:rgba(245,166,35,.16)}
.v-jainverse{background:linear-gradient(160deg,#FFF9F1,#fff 60%,#FAF1F2);border-color:#EBD5CF}
.v-jainverse::after{background:rgba(118,42,54,.10)}
.stage{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #E6D3C3;color:#762A36;font-weight:700;font-size:.8rem}
.stage.live{border-color:#CFE9D8;color:#0B7A45}
.stage.live i{width:8px;height:8px;border-radius:50%;background:#16A34A;animation:hm-live 2s infinite}
@keyframes hm-live{0%{box-shadow:0 0 0 0 rgba(22,163,74,.5)}70%{box-shadow:0 0 0 8px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
.venture h3{font-size:2rem;margin:.4em 0 0}
.v-coconet h3{color:#0E1D4A}.v-jainverse h3{color:#5E202A}
.vsub{margin:.1em 0 .6em;font-weight:700;color:#3f4b57!important}
.venture p{flex:0}
.venture .go{margin-top:auto;padding-top:10px}
.v-coconet .go{color:#C77D00}.v-jainverse .go{color:#762A36}
.research{margin:22px auto 0;max-width:820px;text-align:center;padding:14px 18px;border-radius:14px;border:1px dashed #D9C3A5;background:#fff;font-size:.95rem}
.research span{font-weight:700;color:var(--navy)}

/* BAND */
.hm-band{background:radial-gradient(circle at 88% 12%,rgba(214,162,74,.18),transparent 30%),linear-gradient(135deg,#0E1D4A,#173D80);color:#fff}
.hm-band h2{color:#fff}.hm-band .head p{color:#D2DCF3}.hm-band .tag{color:#F0D18F}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;position:relative}
.steps::after{content:"";position:absolute;left:4%;top:22px;height:2px;width:92%;background:linear-gradient(90deg,var(--gold),#8CA8FF);transform-origin:left;transform:scaleX(var(--progress,0));transition:transform .5s}
.step{position:relative;padding:44px 14px 20px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:background .4s,border-color .4s,transform .4s}
.step b{position:absolute;top:10px;left:14px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2A3F78;color:#C9D5FF;font-size:.72rem;transition:background .4s,color .4s}
.step strong{display:block;color:#fff;font-size:1rem}
.step span{display:block;margin-top:4px;color:#C3CEE8;font-size:.82rem;line-height:1.45}
.step.lit{background:rgba(255,255,255,.12);border-color:rgba(240,209,143,.45);transform:translateY(-4px)}
.step.lit b{background:var(--gold);color:var(--navy)}

/* WHY */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.why article{padding:26px;border-radius:20px;background:#fff;border:1px solid #E1E7F2;transition:transform .3s,box-shadow .3s}
.why article:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(16,34,85,.1)}
.why b{display:block;font:600 2.4rem/1 var(--head);background:linear-gradient(135deg,var(--blue),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px}
.why h3{margin:0 0 6px;color:var(--navy);font-size:1.15rem}.why p{margin:0;font-size:.93rem}

/* CHIPS */
.chips{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{padding:12px 18px;border-radius:999px;background:#fff;border:1.5px solid #DCE5FF;font-weight:700;color:var(--navy);transition:border-color .3s,transform .3s}
.chips li:hover{border-color:var(--gold);transform:translateY(-2px)}

/* ABOUT */
.about{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:start;padding:40px;border-radius:28px;background:linear-gradient(135deg,var(--ivory),#F6F8FF);border:1px solid #E1E7F2}
.about-mark{width:90px;height:auto;padding:18px;border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(16,34,85,.1)}
.about blockquote{margin:16px 0 0;padding:14px 18px;border-left:4px solid var(--gold);background:#fff;border-radius:0 12px 12px 0;font:500 1.25rem/1.4 var(--head);color:var(--navy)}
.about cite{display:block;margin-top:4px;font:700 .82rem var(--body);font-style:normal;color:var(--blue-700)}

.hm-cta{padding:0 0 80px}

@media(max-width:1000px){
  .hm-hero-grid,.hm-split,.service{grid-template-columns:1fr;gap:36px}
  .why{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(4,1fr)}.steps::after{display:none}
}
@media(max-width:640px){
  .hm-sec{padding:64px 0}.hm-hero{padding:36px 0 64px}
  .pillars,.vgrid,.why{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .orbit{width:330px}.sat{padding:9px 12px;font-size:.9rem}
  .core img{width:30px}.core span{font-size:.62rem;letter-spacing:.03em}
  .about{grid-template-columns:1fr;padding:28px 22px}
  .service{padding:28px 22px}
}
@media(prefers-reduced-motion:reduce){
  .page-home *,.page-home *::before,.page-home *::after{animation:none!important;transition:none!important}
  .hl-blue{background-size:100% 100%}.steps::after{transform:scaleX(1)}
}
