/* Buttons */
.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.06);
  color: var(--text);
  box-shadow: var(--shadow-soft);
  font-weight: 650;
}
.cta:hover{ transform: translateY(-1px); }
.cta:active{ transform: translateY(0); }
.cta--small{ padding: 10px 12px; border-radius: 12px; }
.cta--primary{
  background: linear-gradient(135deg, rgba(124,92,255,1), rgba(124,92,255,.65));
  border-color: rgba(124,92,255,.55);
}
.cta--secondary{
  background: rgba(255,255,255,.05);
}

/* Strips */
.trust-strip{
  list-style:none;
  padding: 12px 14px;
  margin: 20px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap: 10px 16px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.05);
}
.trust-strip li{
  color: var(--muted);
  font-weight: 550;
}

/* Cards */
.benefit-card,
.feature-card,
.pricing-card,
.privacy-panel,
.cta-block,
.screenshot-wrap{
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.05);
  box-shadow: var(--shadow);
}

.benefit-card{
  padding: 16px;
}
.benefit-card__icon{
  width: 40px;
  height: 40px;
  display:grid;
  place-items:center;
  border-radius: 14px;
  background: rgba(124,92,255,.12);
  border: 1px solid rgba(124,92,255,.22);
  margin-bottom: 10px;
  color: rgba(255,255,255,.92);
}
.benefit-card__title{ margin: 0 0 6px; font-size: var(--h3); }
.benefit-card__text{ margin: 0; color: var(--muted); }

.screenshot-wrap{
  padding: 14px;
  min-width: 0;
}
.screenshot-wrap img{
  width: 100%;
  height: auto;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  object-fit: contain;
}
.screenshot-wrap figcaption{
  margin-top: 10px;
  color: var(--muted-2);
  font-size: .95rem;
}

.feature-card{ padding: 16px; }
.feature-card__title{ margin: 0 0 10px; font-size: var(--h3); }
.feature-card__bullets{
  margin: 0 0 12px;
  padding-left: 18px;
  color: var(--muted);
}
.feature-card__link{
  color: rgba(255,255,255,.9);
  text-decoration: underline;
  text-underline-offset: 4px;
  opacity: .9;
}

.pricing-card{ padding: 18px; }
.pricing-card__title{ margin: 0 0 6px; }
.pricing-card__price{
  margin: 8px 0 10px;
  font-size: 1.25rem;
  font-weight: 800;
}
.pricing-card__amount{ font-size: 2.1rem; letter-spacing:-0.02em; }
.pricing-card__period{ color: var(--muted); font-weight: 650; }
.pricing-card__desc{ margin: 0 0 14px; color: var(--muted); }
.pricing-card--highlight{
  background: linear-gradient(180deg, rgba(124,92,255,.18), rgba(255,255,255,.04));
  border-color: rgba(124,92,255,.32);
}

.faq-list{ margin: 18px 0 0; }
.faq-list__q{
  font-weight: 800;
  margin-top: 14px;
}
.faq-list__a{
  margin: 6px 0 0;
  color: var(--muted);
}

.privacy-panel{ padding: 18px; }
.privacy-panel__title{ margin: 0 0 8px; }
.privacy-panel__text{ margin: 0; color: var(--muted); }
.privacy-panel__text a{ text-decoration: underline; text-underline-offset: 4px; }

.cta-block{ padding: 22px; }
.cta-block__title{ margin: 0 0 10px; }
.cta-block__text{ margin: 0 0 14px; color: var(--muted); }
.cta-block__buttons{ display:flex; gap: 12px; flex-wrap: wrap; }

/* Accordion */
.accordion-heading{
  font-size: var(--h3);
  font-weight: 700;
  margin: 24px 0 10px;
  color: var(--text);
}
.accordion{
  margin-top: 18px;
  display:grid;
  gap: 10px;
}
.accordion__panel{
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.04);
}
.accordion__trigger{
  width:100%;
  text-align:left;
  padding: 14px 16px;
  background: transparent;
  border: 0;
  color: var(--text);
  font-weight: 800;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.accordion__trigger::after{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid var(--muted);
  border-bottom:2px solid var(--muted);
  transform: rotate(45deg);
  transition: transform .2s ease;
}
.accordion__trigger[aria-expanded="true"]::after{
  transform: rotate(-135deg);
}
.accordion__content{
  padding: 0 16px 14px;
  color: var(--muted);
}
.accordion__content p{
  margin: 0 0 8px;
  font-size: .95rem;
  line-height: 1.6;
}
.accordion__content p:last-child{ margin-bottom: 0; }

/* Section title/lead centering where used */
#features .section__title,
#features .section__lead,
#pricing .section__title,
#pricing .section__lead,
#faq .section__title,
#benefits .section__title,
#benefits .section__lead,
#screenshots .section__title,
#screenshots .section__lead{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Legal pages (Privacy, Terms) */
.legal-page{ padding-top: 48px; padding-bottom: 72px; }
.legal-page__inner{ max-width: 42rem; margin: 0 auto; }
.legal-page__title{ font-size: var(--h2); font-weight: 700; margin: 0 0 4px; }
.legal-page__updated{ font-size: .9rem; color: var(--muted); margin-bottom: 24px; }
.legal-prose{ color: var(--muted); font-size: 1rem; line-height: 1.7; }
.legal-prose h2{ font-size: 1.2rem; font-weight: 600; color: var(--text); margin-top: 1.5rem; margin-bottom: .5rem; }
.legal-prose h2:first-of-type{ margin-top: 0; }
.legal-prose p{ margin-bottom: 1rem; }
.legal-prose ul{ margin-bottom: 1rem; padding-left: 1.5rem; }
.legal-prose li{ margin-bottom: .5rem; }
.legal-prose a{ color: var(--brand); text-decoration: underline; text-underline-offset: 4px; }
.legal-prose a:hover{ opacity: .92; }

/* Steps list (How it works) */
.steps-list{
  margin: 0 auto 24px;
  padding-left: 1.5rem;
  max-width: 36rem;
  color: var(--muted);
}
.steps-list li{ margin-bottom: .5rem; }

/* Footer copyright */
.footer__copyright{ font-size: .85rem; color: var(--muted-2); margin: 0; }
