:root{
  --brand:#7c3aed;
  --brand-2:#06b6d4;
  --brand-3:#22c55e;
  --brand-4:#f59e0b;
  --ink:#0b1220;
}

body{ color:var(--ink); }

@media (prefers-reduced-motion: reduce){
  .hero-wrap,
  .hero-wrap::before,
  .hero-wrap::after,
  .btn-gradient::after{ animation: none !important; }
}

.hero-wrap{
  position: relative;
  color:#fff;
  overflow: clip;
  background:
    radial-gradient(1000px 600px at 85% -10%, rgba(255,255,255,.2), transparent 60%),
    linear-gradient(-45deg, var(--brand), var(--brand-2), var(--brand-3), var(--brand-4));
  background-size: 400% 400%;
  animation: gradientMove 18s ease-in-out infinite;
  isolation:isolate;
}

.hero-wrap::before,
.hero-wrap::after{
  content:"";
  position:absolute; inset: -20%;
  background:
    conic-gradient(from 0deg at 50% 50%, rgba(255,255,255,.08), transparent 60%);
  mix-blend-mode: screen;
  filter: blur(40px);
  animation: swirl 24s linear infinite;
  pointer-events: none;
}

.hero-wrap::after{ animation-direction: reverse; animation-duration: 30s; opacity:.7; 
}

@keyframes gradientMove {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes swirl {
  0%   { transform: rotate(0deg) scale(1.05); }
  50%  { transform: rotate(180deg) scale(1.08); }
  100% { transform: rotate(360deg) scale(1.05); }
}

.hero-cta .btn {
  transform: translateZ(0);
  transition: transform .15s ease, box-shadow .2s ease;
}

.hero-cta .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

.badge-soft {
  background: rgba(255,255,255,.2);
  border: 1px solid rgba(255,255,255,.35);
  color:#fff;
}

.section { padding: 72px 0; 
}

.gradient-text {
  background: linear-gradient(90deg, var(--brand), var(--brand-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.btn-bd-primary {
  --bd-gray-bg: #808080;
  --bd-gray-rgb: 112.520718, 44.062154, 249.437846;
  --bs-btn-font-weight: 600;
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--bd-gray-bg);
  --bs-btn-border-color: #696969;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #808080;
  --bs-btn-hover-border-color: #696969;
  --bs-btn-focus-shadow-rgb: var(--bd-gray-rgb);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: #808080;
  --bs-btn-active-border-color: #696969;
}
            
.bd-mode-toggle {
  z-index: 1500;
}

.btn-gradient{
  position: relative;
  border: none; color:#fff;
  background: linear-gradient(90deg, var(--brand), var(--brand-2));
  transition: transform .15s ease, box-shadow .25s ease, filter .2s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  overflow: hidden;
  isolation:isolate;
}

.btn-gradient::after{
  content:"";
  position:absolute; inset:-2px;
  background: linear-gradient(90deg, var(--brand), var(--brand-2), var(--brand-3), var(--brand-4), var(--brand));
  background-size: 300% 100%;
  filter: blur(8px);
  z-index:-1;
  animation: btnBorder 6s linear infinite;
  opacity:.7;
}

@keyframes btnBorder {
  0% { background-position: 0% 50%; }
  100% { background-position: 300% 50%; }
}

.btn-gradient:hover{ transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.22); 
}

.list-check li { margin-bottom: .35rem; 
}

.list-check li i {
  color: var(--brand);
  margin-right: .35rem;
}

.pricing .card{ border-radius: 1.25rem; 
}

.accordion-button:not(.collapsed){
  background: rgba(124,58,237,.08);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.bg-fade {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

h1 {
  color: #ffffff;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}

h2, h3, h4, h5, h6 {
  color: #000080 !important;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}

[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6 {
  color: #40e0d0 !important;
}

p {
  color: #000000; !important;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}

[data-bs-theme="dark"] p {
  color: #ffffff !important;
}

li {
  color: #000000; !important;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}

[data-bs-theme="dark"] li {
  color: #ffffff !important;
}

.lead {
  color: #ffffff;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-weight: bold;
}

.offcanvas-title {
  color: #ffffff;
  font-family: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-weight: bold;
}

