html { scroll-behavior: smooth; }
body { margin: 0; background: #F7F6F8; }

.lep, .lep * { font-family: 'Questrial', Helvetica, Arial, sans-serif; box-sizing: border-box; }
.lep a { color: #7B2FBF; }
.lep a:hover { color: #4B1D73; }

.lep-cta { transition: transform .12s ease, box-shadow .12s ease; }
.lep-cta:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(46,125,70,0.36); }

.lep-ghost { transition: border-color .15s ease, color .15s ease; }
.lep-ghost:hover { border-color:#4B1D73; color:#4B1D73; }

@media (max-width: 900px) {
  .lep-4num { grid-template-columns: 1fr 1fr !important; }
  .lep-scores { grid-template-columns: 1fr 1fr !important; }
  .lep-charts { flex-direction: column !important; }
  .lep-compare { flex-direction: column !important; }
  .lep-gap { flex-direction: column !important; gap: 22px !important; }
  .lep-pad { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (max-width: 620px) {
  .lep-4num { grid-template-columns: 1fr !important; }
  .lep-scores { grid-template-columns: 1fr !important; }
  .lep-omits { grid-template-columns: 1fr !important; }
}

/* Shared form / interactive components (quiz, checkout, intake) */
.lep-chip { display:flex; align-items:center; gap:12px; padding:14px 16px; border:1px solid #e5e3e7; background:#fff; font-size:14.5px; color:#1E1C1F; position:relative; cursor:pointer; transition:box-shadow .15s ease, border-color .15s ease, padding-left .15s ease; }
.lep-chip::before { content:''; position:absolute; left:0; top:0; bottom:0; width:0; background:linear-gradient(180deg,#7B2FBF,#4B1D73); transition:width .15s ease; }
.lep-chip:hover { border-color:#c9b8de; box-shadow:0 4px 14px rgba(75,29,115,0.10); padding-left:22px; }
.lep-chip:hover::before, .lep-chip.is-selected::before { width:4px; }
.lep-chip:hover .lep-radio, .lep-chip.is-selected .lep-radio { border-color:#7B2FBF; }
.lep-chip.is-selected { border-color:#7B2FBF; background:#F9F5FD; padding-left:22px; }
.lep-chip.is-selected .lep-radio { background:radial-gradient(circle,#7B2FBF 0 40%, transparent 44%); }
.lep-radio { width:17px; height:17px; border-radius:50%; border:1.5px solid #AEB1B6; flex:0 0 17px; transition:border-color .15s ease; }
.lep-field { border:1px solid #d8d6da; padding:13px 15px; font-size:14px; color:#1E1C1F; background:#fff; transition:border-color .15s ease; width:100%; font-family:inherit; }
.lep-field:focus { outline:none; border-color:#7B2FBF; }
.lep-field::placeholder { color:#a9a7ac; }
.lep-btn { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,#7B2FBF,#4B1D73); color:#fff; padding:15px 30px; font-size:13.5px; font-weight:700; letter-spacing:0.03em; cursor:pointer; transition:transform .12s ease, box-shadow .12s ease; box-shadow:0 6px 18px rgba(75,29,115,0.28); border:none; font-family:inherit; }
.lep-btn:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(75,29,115,0.36); }
.lep-btn:disabled { opacity:0.5; cursor:not-allowed; transform:none; box-shadow:none; }
.lep-btn-ghost { display:inline-flex; align-items:center; padding:14px 24px; font-size:13px; font-weight:700; letter-spacing:0.03em; color:#4B1D73; background:transparent; border:1px solid #d8cfe0; cursor:pointer; transition:border-color .15s ease; font-family:inherit; }
.lep-btn-ghost:hover { border-color:#7B2FBF; }
.lep-badge { width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,#7B2FBF,#4B1D73); color:#fff; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:0 0 28px; }
.lep-progress { display:flex; gap:6px; margin-bottom:22px; }
.lep-progress > div { flex:1; height:5px; background:#e9e7eb; }
.lep-progress > div.is-done { background:linear-gradient(90deg,#7B2FBF,#4B1D73); }
.lep-error { color:#8C1D18; font-size:12.5px; margin-top:8px; display:none; }
.lep-error.is-visible { display:block; }

/* Landing page */
.lep-cta { transition: transform .12s ease, box-shadow .12s ease, background .15s ease; }
.lep-cta:hover { transform: translateY(-1px); }
.lep-card { transition: border-color 0.15s ease; }
.lep-card:hover { border-color: rgba(123,47,191,0.5) !important; }
@media (max-width: 860px) {
  .lep-hero { flex-direction: column !important; }
  .lep-hero-copy { flex: 1 1 auto !important; }
  .lep-hero-img { width: 100% !important; min-height: 220px !important; }
  .lep-cards3 { grid-template-columns: 1fr !important; }
  .lep-guide { flex-direction: column !important; text-align: center; }
  .lep-guide-avatar { margin: 0 auto; }
  .lep-four { grid-template-columns: 1fr !important; }
}

@media print {
  .lep-no-print { display: none !important; }
  body { background: #fff !important; }
}

/* FAQ accordion */
.lep-faq { border: 1px solid #e5e3e7; background: #fff; }
.lep-faq + .lep-faq { border-top: none; }
.lep-faq summary { list-style: none; cursor: pointer; padding: 20px 24px; font-size: 15.5px; font-weight: 700; color: #1E1C1F; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.lep-faq summary::-webkit-details-marker { display: none; }
.lep-faq summary::after { content: "+"; font-size: 20px; font-weight: 400; color: #7B2FBF; flex: 0 0 auto; transition: transform 0.15s ease; }
.lep-faq[open] summary::after { transform: rotate(45deg); }
.lep-faq .lep-faq-a { padding: 0 24px 22px; font-size: 14.5px; color: #3f3d41; line-height: 1.7; }
