/* ===== PUBLIC PAGE STYLES ===== */

/* Hero variants */
.hero-gradient{background:linear-gradient(135deg,var(--purple-900) 0%,var(--purple-700) 50%,var(--purple-500) 100%);color:#fff;padding:5rem 0 4rem;position:relative;overflow:hidden}
.hero-gradient::after{content:'';position:absolute;top:-30%;right:-15%;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.04)}
.hero-gradient h1{font-size:2.75rem;font-weight:800;line-height:1.2;margin-bottom:1rem}
.hero-gradient .lead{font-size:1.15rem;opacity:.9;line-height:1.7;max-width:560px}
@media(max-width:767.98px){.hero-gradient{padding:3rem 0 2.5rem}.hero-gradient h1{font-size:2rem}}

.hero-light{background:var(--gray-50);padding:5rem 0 4rem;border-bottom:1px solid var(--gray-200)}
.hero-light h1{font-size:2.5rem;font-weight:800;color:var(--gray-900)}
.hero-light .lead{color:var(--gray-600);font-size:1.1rem;line-height:1.7}
@media(max-width:767.98px){.hero-light{padding:3rem 0}.hero-light h1{font-size:1.8rem}}

/* Section spacing */
.section-padded{padding:5rem 0}
@media(max-width:767.98px){.section-padded{padding:3rem 0}}

/* Feature cards */
.feature-card-v2{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:2rem;transition:all .3s;height:100%;display:flex;flex-direction:column}
.feature-card-v2>p{flex:1}
.feature-card-v2:hover{border-color:var(--purple-200);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.feature-card-v2 .icon-wrap{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.25rem}
.icon-purple{background:var(--purple-50);color:var(--purple-700)}
.icon-green{background:var(--success-light);color:var(--success)}
.icon-blue{background:var(--info-light);color:var(--info)}
.icon-orange{background:var(--warning-light);color:var(--warning)}

/* Step cards (How It Works) */
.step-card{position:relative;padding:2rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);height:100%}
.step-number{position:absolute;top:-16px;left:24px;width:32px;height:32px;border-radius:50%;background:var(--purple-700);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem}

/* Pricing cards */
.pricing-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:2.5rem 2rem;text-align:center;height:100%;transition:all .3s;display:flex;flex-direction:column}
.pricing-card ul{flex:1}
.pricing-card .btn{margin-top:auto}
.pricing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.pricing-card.featured{border-color:var(--purple-400);box-shadow:0 0 0 2px var(--purple-200)}
.pricing-card .price{font-size:2.5rem;font-weight:800;color:var(--gray-900)}
.pricing-card .price span{font-size:1rem;font-weight:400;color:var(--gray-500)}
.pricing-card ul{list-style:none;padding:0;text-align:left;margin:1.5rem 0}
.pricing-card li{padding:.5rem 0;font-size:.92rem;color:var(--gray-600);border-bottom:1px solid var(--gray-100)}
.pricing-card li i{color:var(--success);margin-right:.5rem}

/* Blog cards */
.blog-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;height:100%;transition:all .3s}
.blog-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.blog-card .blog-body{padding:1.5rem}
.blog-card .blog-meta{font-size:.8rem;color:var(--gray-400);margin-bottom:.5rem}
.blog-card h5{font-weight:700;color:var(--gray-900);margin-bottom:.5rem}
.blog-card p{color:var(--gray-500);font-size:.9rem;line-height:1.6}

/* Testimonial / Story cards */
.story-card{background:#fff;border-left:4px solid var(--purple-600);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:2rem;box-shadow:var(--shadow-md);margin-bottom:2rem}
.story-card .story-quote{font-size:1.05rem;font-style:italic;color:var(--gray-700);line-height:1.7;margin-bottom:1rem}
.story-card .story-author{font-weight:700;color:var(--gray-900)}.story-card .story-role{font-size:.85rem;color:var(--gray-500)}

/* FAQ accordion */
.faq-accordion .accordion-button{font-weight:600;color:var(--gray-800)}
.faq-accordion .accordion-button:not(.collapsed){background:var(--purple-50);color:var(--purple-800)}
.faq-accordion .accordion-body{color:var(--gray-600);line-height:1.7}

/* CTA sections */
.cta-gradient{background:linear-gradient(135deg,var(--purple-800),var(--purple-600));color:#fff;padding:4rem 0;text-align:center}
.cta-gradient h2{font-weight:800;font-size:2rem;margin-bottom:.75rem}
.cta-gradient p{opacity:.85;max-width:500px;margin:0 auto 1.5rem}

/* Blog content */
.blog-content{font-size:1.05rem;line-height:1.85;color:var(--gray-700)}
.blog-content h2{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:2rem 0 1rem}
.blog-content h3{font-size:1.2rem;font-weight:600;color:var(--gray-800);margin:1.5rem 0 .75rem}
.blog-content p{margin-bottom:1.25rem}

/* Contact form */
.contact-form .form-control,.contact-form .form-select{border-color:var(--gray-300);border-radius:var(--radius);padding:.75rem 1rem}
.contact-form .form-control:focus{border-color:var(--purple-400);box-shadow:0 0 0 3px rgba(106,66,209,.1)}

/* Legal pages */
.legal-content{font-size:.95rem;line-height:1.8;color:var(--gray-600)}
.legal-content h2{font-size:1.3rem;font-weight:700;color:var(--gray-800);margin:2rem 0 .75rem}
.legal-content h3{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .5rem}

/* Coming soon */
.coming-soon-box{text-align:center;padding:5rem 2rem;background:var(--gray-50);border-radius:var(--radius-xl)}
.coming-soon-box i{font-size:4rem;color:var(--purple-300);margin-bottom:1rem;display:block}

/* Comparison table */
.comparison-table th{background:var(--purple-50);color:var(--purple-800);font-weight:700;text-align:center}
.comparison-table td{text-align:center;vertical-align:middle;padding:.875rem}
.comparison-table .check{color:var(--success);font-size:1.2rem}
.comparison-table .cross{color:var(--gray-300);font-size:1.2rem}

/* Social media icon row in footer */
.pub-social-links {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .5rem;
  margin-top: .75rem;
}
.pub-social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: var(--gray-400);
  font-size: 1rem;
  text-decoration: none;
  transition: background .2s, color .2s, transform .2s;
  flex-shrink: 0;
}
.pub-social-links a:hover {
  background: var(--purple-600);
  color: #fff;
  transform: translateY(-2px);
}

/* ===== DARK HERO (interior pages) ===== */
.hero-dark{background:#0b0618;color:#f1f0ff;padding:9rem 0 6rem;position:relative;overflow:hidden}
.hero-dark h1{font-size:2.75rem;font-weight:900;line-height:1.2;margin-bottom:1rem}
.hero-dark .lead{font-size:1.1rem;line-height:1.75;opacity:.85;max-width:600px}
@media(max-width:767.98px){.hero-dark{padding:7rem 0 4rem}.hero-dark h1{font-size:1.9rem}}

/* Gradient text utility */
.grad-text{background:linear-gradient(135deg,#a78bfa 0%,#f59e0b 55%,#f472b6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.grad-text-cool{background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.grad-text-green{background:linear-gradient(135deg,#34d399,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Orbs */
.orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;will-change:transform}
@keyframes orb-float{0%,100%{transform:translate(0,0)}33%{transform:translate(18px,-14px)}66%{transform:translate(-12px,18px)}}
.orb-anim{animation:orb-float 12s ease-in-out infinite}

/* Dot grid overlay */
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}

/* Glass card (dark-bg context) */
.glass-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:1rem;backdrop-filter:blur(12px)}

/* Dark sections */
.section-dark{background:#0b0618;color:#f1f0ff;padding:5rem 0}
.section-dark-2{background:#0f0822;color:#f1f0ff;padding:5rem 0}
@media(max-width:767.98px){.section-dark,.section-dark-2{padding:3rem 0}}

/* Dark feature card */
.dark-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.75rem;transition:border-color .25s,background .25s;height:100%}
.dark-card:hover{border-color:rgba(139,92,246,.5);background:rgba(139,92,246,.08)}

/* Hero pill for dark context */
.hero-pill-dark{display:inline-flex;align-items:center;gap:.5rem;background:rgba(139,92,246,.2);border:1px solid rgba(139,92,246,.35);color:#c4b5fd;border-radius:2rem;padding:.35rem .9rem;font-size:.78rem;font-weight:700;letter-spacing:.03em;margin-bottom:1.25rem}

/* ===== MICRO-ANIMATIONS ===== */

/* CTA pulse — draws eye to primary action */
@keyframes cta-pulse {
  0%,100%{box-shadow:0 0 0 0 rgba(139,92,246,.45)}
  60%{box-shadow:0 0 0 10px rgba(139,92,246,0)}
}
.btn-purple{animation:cta-pulse 2.8s ease-in-out infinite}
.btn-purple:hover,.btn-purple:focus{animation:none}

/* Card hover lift (feature-card-v2 already has it; extend to story-card and pricing cards) */
.story-card{transition:transform .25s,box-shadow .25s}
.story-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}

/* Count-up stat — fade-in when visible */
.stat-countup{opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}
.stat-countup.counted{opacity:1;transform:none}

/* Section fade-in on scroll */
.fade-in-up{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}
.fade-in-up.visible{opacity:1;transform:none}

/* ===== FLOATING PILL NAVBAR ===== */
.pub-nav-wrapper{position:fixed;top:0;left:0;right:0;padding:.875rem 1.25rem;z-index:1055;pointer-events:none;transition:transform .35s cubic-bezier(.4,0,.2,1)}
.pub-nav-wrapper.nav-hidden{transform:translateY(-80px)}
.pub-nav-pill{pointer-events:all;background:rgba(47,60,83,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:3rem;max-width:1000px;margin:0 auto;padding:0 1.25rem;height:52px;display:flex;align-items:center;gap:1rem;box-shadow:0 8px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06);transition:background .3s,box-shadow .3s,border-color .3s}
.pub-nav-wrapper.scrolled .pub-nav-pill{background:rgba(8,5,18,.96);border-color:rgba(255,255,255,.1);box-shadow:0 8px 40px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05)}

/* Brand */
.pub-nav-brand{display:flex;align-items:center;gap:.5rem;color:#f1f0ff;font-weight:700;font-size:.93rem;text-decoration:none;flex-shrink:0;white-space:nowrap;letter-spacing:-.01em}
.pub-nav-brand:hover{color:#e0d9ff}

/* Desktop link list */
.pub-nav-links{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.1rem;flex:1;justify-content:center}
.pub-nav-link{color:rgba(255,255,255,.7);font-size:.825rem;font-weight:500;padding:.35rem .65rem;border-radius:2rem;transition:background .15s,color .15s;text-decoration:none;white-space:nowrap;background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;line-height:1.2;font-family:inherit}
.pub-nav-link:hover{color:#f1f0ff;background:rgba(255,255,255,.1)}
.pub-nav-link.active{color:#c4b5fd;background:rgba(139,92,246,.2)}

/* Resources dropdown */
.pub-nav-dd-wrap{position:relative}
.pub-nav-dd-menu{position:absolute;top:calc(100% + .75rem);left:50%;transform:translateX(-50%) translateY(-6px);background:rgba(15,22,38,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;min-width:220px;padding:.5rem;box-shadow:0 20px 60px rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:10;pointer-events:none}
.pub-nav-dd-wrap:hover .pub-nav-dd-menu,.pub-nav-dd-wrap:focus-within .pub-nav-dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:all}
.pub-nav-signin-dd{left:auto!important;right:0!important;transform:translateX(0) translateY(-6px)!important}
.pub-nav-dd-wrap:hover .pub-nav-signin-dd,.pub-nav-dd-wrap:focus-within .pub-nav-signin-dd{transform:translateX(0) translateY(0)!important}
.pub-nav-dd-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.3);padding:.5rem .75rem .2rem}
.pub-nav-dd-item{display:flex;align-items:center;gap:.625rem;color:rgba(255,255,255,.75);font-size:.825rem;padding:.45rem .75rem;border-radius:.75rem;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}
.pub-nav-dd-item:hover{background:rgba(139,92,246,.22);color:#f1f0ff}
.pub-nav-dd-item i{font-size:.9rem;opacity:.65;flex-shrink:0;width:1.1rem;text-align:center}
.pub-nav-signin-dd .pub-nav-dd-item{align-items:flex-start;white-space:normal;padding:.6rem .75rem}
.pub-nav-signin-dd .pub-nav-dd-item i{font-size:1.1rem;opacity:1;margin-top:.1rem}
.pub-nav-dd-divider{height:1px;background:rgba(255,255,255,.08);margin:.375rem .5rem}

/* CTA buttons */
.pub-nav-ctas{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.pub-nav-btn-out{color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.22);border-radius:2rem;padding:.35rem .875rem;font-size:.78rem;font-weight:600;background:transparent;transition:background .15s,border-color .15s,color .15s;text-decoration:none;white-space:nowrap;line-height:1.5}
.pub-nav-btn-out:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.38);color:#fff}
.pub-nav-btn-fill{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:2rem;padding:.35rem .875rem;font-size:.78rem;font-weight:600;border:none;transition:opacity .15s,box-shadow .15s;text-decoration:none;white-space:nowrap;line-height:1.5;box-shadow:0 2px 12px rgba(124,58,237,.4)}
.pub-nav-btn-fill:hover{opacity:.88;box-shadow:0 4px 20px rgba(124,58,237,.55);color:#fff}
.pub-nav-btn-partner{color:#fff;background:linear-gradient(135deg,#059669,#10b981);border-radius:2rem;padding:.35rem .875rem;font-size:.78rem;font-weight:600;border:none;transition:opacity .15s,box-shadow .15s;text-decoration:none;white-space:nowrap;line-height:1.5;box-shadow:0 2px 12px rgba(5,150,105,.35)}
.pub-nav-btn-partner:hover{opacity:.88;box-shadow:0 4px 20px rgba(5,150,105,.5);color:#fff}

/* Mobile hamburger */
.pub-nav-ham{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:.875rem;width:38px;height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0;transition:background .15s;margin-left:auto;flex-shrink:0}
.pub-nav-ham:hover{background:rgba(255,255,255,.18)}
.pub-nav-ham span{display:block;width:16px;height:1.5px;background:#f1f0ff;border-radius:2px;transition:transform .25s,opacity .25s}
.pub-nav-ham.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.pub-nav-ham.open span:nth-child(2){opacity:0}
.pub-nav-ham.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile overlay */
.pub-nav-mobile{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1054;background:#08050f;display:flex;flex-direction:column;padding:5rem 1.5rem 2.5rem;overflow-y:auto;transform:translateY(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);visibility:hidden}
.pub-nav-mobile.open{transform:translateY(0);visibility:visible}
.pub-nav-mob-link{color:rgba(255,255,255,.78);font-size:1.05rem;font-weight:500;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.07);text-decoration:none;display:block;transition:color .15s}
.pub-nav-mob-link:hover{color:#f1f0ff}
.pub-nav-mob-section{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.35);margin-top:1.25rem;margin-bottom:.3rem;padding:.25rem 0}
.pub-nav-mob-ctas{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}
.pub-nav-mob-ctas .pub-nav-btn-out,.pub-nav-mob-ctas .pub-nav-btn-fill{text-align:center;padding:.7rem;font-size:.9rem;display:block;border-radius:1rem}

@media(max-width:991.98px){.pub-nav-links,.pub-nav-ctas{display:none!important}}

/* Language toggle button */
.pub-nav-lang-btn{background:rgba(139,92,246,.18);border:1px solid rgba(139,92,246,.4);color:#c4b5fd;border-radius:2rem;padding:.3rem .85rem;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;font-family:'Hind',inherit;letter-spacing:.01em;display:inline-flex;align-items:center;gap:.35rem}
.pub-nav-lang-btn:hover{background:rgba(139,92,246,.3);color:#e9d5ff}
/* Devanagari font support for Hindi content */
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Hind',Roboto,sans-serif}
/* Prevent Bootstrap row negative margins from expanding layout viewport on mobile */
@media(max-width:767px){
  .row.g-4,.row.g-5{--bs-gutter-x:1.5rem}
  section,.section-padded{overflow-x:hidden}
}