:root{
  --lpt-pink: #f8c7d2;
  --lpt-pink-strong: #f06292;
  --lpt-ink: #14121a;
  --lpt-soft: #fff4f7;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

body { color: var(--lpt-ink); }

.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left: 1rem;
  top: 1rem;
  width:auto;
  height:auto;
  z-index: 1080;
  background: #fff;
  padding: .5rem .75rem;
  border-radius: .5rem;
  box-shadow: 0 0 0 0.25rem rgba(240,98,146,.25);
}

.btn-primary{
  --bs-btn-bg: var(--lpt-pink-strong);
  --bs-btn-border-color: var(--lpt-pink-strong);
  --bs-btn-hover-bg: #ea4f87;
  --bs-btn-hover-border-color: #ea4f87;
  --bs-btn-active-bg: #d84579;
  --bs-btn-active-border-color: #d84579;
}
.btn-outline-primary{
  --bs-btn-color: var(--lpt-pink-strong);
  --bs-btn-border-color: var(--lpt-pink-strong);
  --bs-btn-hover-bg: var(--lpt-pink-strong);
  --bs-btn-hover-border-color: var(--lpt-pink-strong);
}

.text-gradient{
  background: linear-gradient(90deg, var(--lpt-pink-strong), #7c4dff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero{
  background:
    radial-gradient(900px 420px at 25% 20%, rgba(240,98,146,.22), rgba(240,98,146,0)),
    radial-gradient(900px 420px at 75% 10%, rgba(124,77,255,.18), rgba(124,77,255,0)),
    linear-gradient(180deg, var(--lpt-soft), #fff 60%);
}
.py-lg-6{
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.hero-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
  overflow: hidden;
}

.icon-circle{
  width: 1.25rem;
  height: 1.25rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  background: rgba(240,98,146,.18);
  color: var(--lpt-pink-strong);
  font-weight: 700;
  line-height: 1;
}

.kpi{
  border-radius: .75rem;
  padding: .75rem;
  background: rgba(0,0,0,.03);
  height: 100%;
}
.kpi-value{
  font-weight: 800;
  font-size: 1.125rem;
}
.kpi-label{
  color: rgba(0,0,0,.55);
  font-size: .875rem;
}

.card-soft{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
}
.card-icon{
  width: 2.5rem;
  height: 2.5rem;
  border-radius: .9rem;
  background: rgba(240,98,146,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 1.25rem;
  margin-bottom: .75rem;
}

.panel{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
  background: #fff;
}

.feature{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
  padding: 1rem;
  background: #fff;
  height: 100%;
}
.feature-title{
  font-weight: 700;
  margin-bottom: .25rem;
}
.feature-text{
  color: rgba(0,0,0,.6);
}

.timeline{
  padding-left: 1.1rem;
}
.timeline li{
  margin: .9rem 0;
}
.timeline-title{
  font-weight: 700;
}
.timeline-text{
  color: rgba(0,0,0,.6);
  font-size: .95rem;
}

.testimonial{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
  padding: 1.25rem;
  background: #fff;
}
.testimonial-quote{
  font-weight: 600;
}
.testimonial-meta{
  margin-top: .75rem;
  color: rgba(0,0,0,.6);
  font-size: .9rem;
}

.price{
  display:flex;
  align-items: baseline;
  gap:.35rem;
}
.price-amount{
  font-size: 2rem;
  font-weight: 800;
}
.price-unit{
  color: rgba(0,0,0,.6);
}

.list-check{
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.list-check li{
  position: relative;
  padding-left: 1.6rem;
  margin: .45rem 0;
}
.list-check li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(240,98,146,.18);
  color: var(--lpt-pink-strong);
  font-weight: 800;
  line-height: 1;
}


