:root{
  --brand-blue:#2F6BFF;
  --brand-purple:#8A39FF;
  --brand-taupe:#8A837E;
  --ink:#111111;
  --paper:#FFFFFF;
  --surface-1:#F5F7FA;
  --surface-2:#E9EDF3;
  --radius:1rem;
}
:root{color-scheme:light;}
html{font-family:Inter,Manrope,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue','Arial','Noto Sans',sans-serif}
.btn-primary{background-image:linear-gradient(90deg,var(--brand-blue),var(--brand-purple)); color:white; padding:.7rem 1rem; border-radius:0.9rem; font-weight:600; box-shadow:0 8px 20px rgba(47,107,255,.15)}
.btn-primary:hover{filter:brightness(1.05)}
.btn-secondary{background:var(--surface-2); color:var(--ink); padding:.7rem 1rem; border-radius:0.9rem; font-weight:600; border:1px solid var(--surface-2)}
.btn-secondary:hover{background:var(--surface-1)}
.btn-light{background:white; color:#111; padding:.7rem 1rem; border-radius:0.9rem; font-weight:700}
.btn-outline-light{background:transparent; color:white; border:1.5px solid rgba(255,255,255,.8); padding:.65rem 1rem; border-radius:0.9rem; font-weight:600}
.card{background:var(--paper); border:1px solid var(--surface-2); border-radius:1.2rem; padding:1rem}
.card-title{font-weight:700; margin-bottom:.25rem}
.card-body{color:#4b5563}
.badge{display:inline-block; font-size:.75rem; background:linear-gradient(90deg,rgba(47,107,255,.12),rgba(138,57,255,.12)); color:#222; border:1px solid var(--surface-2); padding:.25rem .5rem; border-radius:.65rem; margin-bottom:.5rem}
.input{width:100%; border:1px solid var(--surface-2); background:var(--paper); padding:.65rem .8rem; border-radius:.8rem; outline:none}
.input:focus{border-color:var(--brand-blue); box-shadow:0 0 0 3px rgba(47,107,255,.18)}
.solution-tile{display:block; border:1px solid var(--surface-2); border-radius:1rem; padding:1rem; background:var(--paper)}
.solution-tile:hover{box-shadow:0 10px 30px rgba(0,0,0,.05)}
.faq > summary{cursor:pointer; font-weight:600; padding:.5rem 0}
.faq > div{padding:.35rem 0 1rem 0; color:#4b5563}
/* Focus visibility */
:focus-visible{outline:3px solid var(--brand-purple); outline-offset:2px}
/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important}
}
/* Typography helpers */
.prose h2{font-size:1.25rem; margin-top:1.25rem}
