:root{
  --cd-bg:#fefaf2;
  --cd-bg-2:#f6f0e6;
  --cd-text:#1f2937;
  --cd-muted:#4b5563;
  --cd-border:rgba(31,41,55,.12);
  --cd-primary:#6d28d9; /* purple */
  --cd-primary-2:#4f46e5; /* indigo */
  --cd-accent:#0ea5e9; /* sky */
  --cd-card:#ffffff;
  --cd-shadow:0 12px 30px rgba(31,41,55,.08);
}

html{scroll-behavior:smooth;}

body{
  font-family: 'Aptos', 'Segoe UI', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  background: var(--cd-bg);
  color: var(--cd-text);
}

.navbar{
  background: rgba(254,250,242,.92);
  border-bottom: 1px solid var(--cd-border);
  backdrop-filter: blur(10px);
}

.navbar-brand img{height:40px;}

.nav-link{font-weight:600;color:var(--cd-text) !important;}
.nav-link:hover{color:var(--cd-primary) !important;}

.btn-primary{
  background: var(--cd-primary);
  border-color: var(--cd-primary);
}
.btn-primary:hover{background:#5b21b6;border-color:#5b21b6;}

.btn-outline-primary{
  border-color: var(--cd-primary);
  color: var(--cd-primary);
}
.btn-outline-primary:hover{background:var(--cd-primary);border-color:var(--cd-primary);}

.badge-soft{
  background: rgba(109,40,217,.12);
  color: var(--cd-primary);
  border: 1px solid rgba(109,40,217,.18);
  font-weight: 600;
}

.hero{
  padding-top: 120px;
  padding-bottom: 70px;
}

.hero h1{
  font-size: clamp(2.1rem, 2.6vw + 1.2rem, 3.5rem);
  line-height: 1.05;
  letter-spacing: -.02em;
}

.hero p{
  color: var(--cd-muted);
  font-size: 1.05rem;
}

.hero-card{
  background: var(--cd-card);
  border: 1px solid var(--cd-border);
  border-radius: 18px;
  box-shadow: var(--cd-shadow);
}

.section{
  padding: 70px 0;
}

.section-alt{
  background: linear-gradient(180deg, var(--cd-bg-2), var(--cd-bg));
  border-top: 1px solid rgba(0,0,0,.03);
  border-bottom: 1px solid rgba(0,0,0,.03);
}

.kicker{
  font-weight: 700;
  color: var(--cd-primary);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .78rem;
}

.section-title{
  font-size: 2rem;
  letter-spacing: -.01em;
}

.section-lead{color: var(--cd-muted);}

.card{
  border: 1px solid var(--cd-border);
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(31,41,55,.06);
}

.icon-bubble{
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(14,165,233,.12);
  border: 1px solid rgba(14,165,233,.2);
}

.metric{
  font-weight: 800;
  font-size: 1.8rem;
  margin-bottom: .1rem;
}

.small-muted{color: var(--cd-muted); font-size: .95rem;}

footer{
  background: var(--cd-bg-2);
  border-top: 1px solid var(--cd-border);
}

.footer-link{color: var(--cd-text); text-decoration: none;}
.footer-link:hover{color:var(--cd-primary); text-decoration: underline;}

.policy-content h1{font-size:2.2rem;}
.policy-content h2{font-size:1.35rem;margin-top:1.75rem;}
.policy-content p, .policy-content li{color:var(--cd-muted);}

/* simple reveal animation */
.reveal{opacity:0; transform: translateY(10px); transition: all .6s ease;}
.reveal.is-visible{opacity:1; transform:none;}
.hero p{font-size:1.05rem;color:var(--cd-muted);}

.hero-card{
  background: linear-gradient(180deg, rgba(246,240,230,.9), rgba(254,250,242,.95));
  border: 1px solid var(--cd-border);
  border-radius: 18px;
  box-shadow: var(--cd-shadow);
  overflow: hidden;
}

.section{
  padding: 70px 0;
}

.section-alt{
  background: linear-gradient(180deg, rgba(246,240,230,.95), rgba(254,250,242,1));
  border-top: 1px solid var(--cd-border);
  border-bottom: 1px solid var(--cd-border);
}

.section-title{
  font-size: 2rem;
  letter-spacing: -.01em;
}

.kicker{
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .78rem;
  color: var(--cd-primary);
}

.card{
  border: 1px solid var(--cd-border);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(31,41,55,.06);
}

.icon-chip{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(14,165,233,.12);
  border: 1px solid rgba(14,165,233,.18);
  color: #0369a1;
}

.feature-list li{margin-bottom:.5rem;color:var(--cd-muted);}

.pricing{
  border: 1px solid var(--cd-border);
  border-radius: 18px;
  background: var(--cd-card);
  box-shadow: var(--cd-shadow);
}

.pricing .price{
  font-size: 2rem;
  font-weight: 800;
}

.faq .accordion-button{font-weight:700;}

.footer{
  background: var(--cd-bg-2);
  border-top: 1px solid var(--cd-border);
  padding: 46px 0 20px;
}

.footer a{color:var(--cd-text);text-decoration:none;}
.footer a:hover{text-decoration:underline;color:var(--cd-primary);}

.small-muted{color:var(--cd-muted);}

.page-hero{
  padding-top: 110px;
  padding-bottom: 30px;
}

.policy h2{margin-top:1.8rem;}
.policy ul{color:var(--cd-muted);} 

/* Bootstrap navbar toggler icon on light background */
.navbar-light .navbar-toggler{border-color:rgba(31,41,55,.18);} 
.navbar-light .navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(31, 41, 55, 0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
