/* styles.css */
/* tokens */
:root{
  --accent:#1e90ff;
  --accent-600:#1977d6;
  --text:#1f2937;
}
.accent{color:var(--accent);} .bg-accent{background:var(--accent);}
.hover-accent:hover{background:var(--accent-600);}
.focus-ring:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.ba-overlay{position:absolute;inset:0;width:50%;overflow:hidden;transition:width .25s;}
.ba-handle{width:3px;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.card{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05);ring:1px solid rgba(0,0,0,.05);}
.card h3{font-weight:600;font-size:1.125rem;margin-bottom:.25rem;}
.step{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05);}
.step span{display:inline-flex;align-items:center;justify-content:center;height:2rem;width:2rem;border-radius:9999px;background:var(--accent);color:#fff;font-weight:600;margin-bottom:.5rem;}
/* review slideshow */
#reviews{
  position:relative;
  overflow:hidden; /* keep arrows inside */
}

.review-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid rgba(0,0,0,.1);width:2.5rem;height:2.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent);}
.review-nav.left{left:-1rem;} .review-nav.right{right:-1rem;}
.review-nav:hover{background:var(--accent);color:#fff;}
.review-nav[disabled]{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
}
/* FAQ */
.faq-box{border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);}
.faq-btn{display:flex;justify-content:space-between;width:100%;font-weight:600;}
.faq-btn svg{width:20px;height:20px;transition:transform .2s;}
.faq-panel{margin-top:.75rem;font-size:.875rem;color:#64748b;display:none;}

.slide{display:none;padding:2rem;text-align:center;}
.slide.active{display:block;}
.slide figure{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
}
.review-nav.left {
  left:-1rem;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:#fff;
  border:none;
  padding:0.5rem 0.75rem;
  cursor:pointer;
  border-radius:0.375rem;
  box-shadow:0 0 10px rgb(0 0 0 / 0.1);
}
.review-nav.right {
  right:-1rem;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:#fff;
  border:none;
  padding:0.5rem 0.75rem;
  cursor:pointer;
  border-radius:0.375rem;
  box-shadow:0 0 10px rgb(0 0 0 / 0.1);
}