:root{
  --blue:#1E4BB6;
  --mint:#3BC48C;
  --ink:#1c2033;
  --bg:#f7f8fc;
  --card:#ffffff;
  --muted:#5a6473;
  --line:#e7ecf6;
}
/* Base */
html,body{background:var(--bg);color:var(--ink);}
a{color:var(--blue);}
a:hover,a:focus{filter:brightness(.95);}
/* Headings & hero */
header, .site-hero, .hero, .masthead{
  background:linear-gradient(180deg,var(--blue),#173a90);
  color:#fff;
}
header .btn, .hero .btn, .site-hero .btn{
  background:var(--mint);color:#fff;border:0;border-radius:10px;padding:.9rem 1.2rem;font-weight:700
}
/* Buttons (generic) */
button, .btn, [type="submit"], .button{
  background:var(--blue);color:#fff;border:1px solid transparent;border-radius:10px;
  padding:.7rem 1.1rem; font-weight:700; box-shadow:0 6px 20px rgba(30,75,182,.15);
}
button.secondary,.btn.secondary,.button.secondary{background:var(--mint)}
button:focus,.btn:focus,[type="submit"]:focus{outline:3px solid color-mix(in srgb, var(--mint) 40%, white);outline-offset:2px}
/* Cards / sections */
section, .card, .panel, .feature, .pricing, .faq, .contact, .services{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 8px 28px rgba(0,0,0,.06);
  padding:1.2rem;
}
/* Pricing blocks */
.pricing .plan, .price, .pack, .tarif{
  border:1px solid var(--line); border-radius:14px; padding:1rem;
}
.pricing .plan h3, .pack h3{color:var(--blue)}
.price .amount, .tarif .amount{color:var(--blue);font-weight:800}
/* Lists with checkmarks */
ul.checks{list-style:none;padding:0;margin:0}
ul.checks li{padding-left:1.4rem;position:relative;margin:.4rem 0}
ul.checks li::before{content:"✔";position:absolute;left:0;color:var(--mint);font-weight:900}
/* Badges / small highlights */
.badge,.pill{background:color-mix(in srgb,var(--blue) 12%, white);color:var(--blue);border-radius:999px;padding:.25rem .6rem;font-weight:700}
/* Forms */
input[type="text"],input[type="email"],input[type="tel"],textarea,select{
  width:100%;background:#fbfcff;border:1px solid var(--line);border-radius:10px;padding:.8rem;font:inherit
}
textarea{min-height:120px;resize:vertical}
/* CTA band */
.cta-band{background:linear-gradient(180deg,var(--blue),#173a90);color:#fff;padding:1.4rem;border-radius:14px}
.cta-band .btn{background:var(--mint)}
/* Footer */
footer{background:#0f2a6e;color:#fff}
/* Utility helpers if page lacks classes */
h1,h2{color:var(--blue)}
.mark{background:color-mix(in srgb,var(--mint) 20%, white); padding:.1rem .3rem; border-radius:.4rem}
.mint{color:var(--mint)} .blue{color:var(--blue)}
/* Responsive spacing adjustments */
@media (max-width:768px){
  section, .card, .panel{padding:1rem}
  button,.btn{width:100%}
}
.section {
  margin: 2rem auto;
  padding: 2rem 1.5rem;
  max-width: 960px;
  text-align: center;
}
.section h2 { text-align:center; }
.grid { text-align:left; }
