
:root{
  --qcal-blue:#1d3da9;
  --qcal-gold:#ffcc33;
  --qcal-dark:#121212;
  --qcal-ink:#1f2430;
  --qcal-light:#f6f8fb;
  --qcal-border:#e8ebf0;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--qcal-ink);background:var(--qcal-light);}
a{color:var(--qcal-blue);text-decoration:none}
a:hover{text-decoration:underline}
.text-qcal{color:var(--qcal-blue)!important}
.text-qcal-dark{color:var(--qcal-ink)!important}
.bg-qcal-50{background:#f3f6ff}
.btn-qcal{--bs-btn-bg:var(--qcal-blue);--bs-btn-border-color:var(--qcal-blue);--bs-btn-hover-bg:#153089;--bs-btn-hover-border-color:#153089;--bs-btn-color:#fff}
.btn-outline-qcal{--bs-btn-color:var(--qcal-blue);--bs-btn-border-color:var(--qcal-blue);--bs-btn-hover-bg:var(--qcal-blue);--bs-btn-hover-color:#fff}
.navbar .nav-link{font-weight:500}
.hero{position:relative;background:url('../img/5rJVa9.webp') center/cover no-repeat;padding:120px 0}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55))}
.hero .container{position:relative;z-index:1}
.service-icon{font-size:2rem;color:var(--qcal-blue)}
.card.service{border:1px solid var(--qcal-border);border-radius:1rem;transition:transform .2s,box-shadow .2s}
.card.service:hover{transform:translateY(-3px);box-shadow:0 .5rem 1rem rgba(0,0,0,.07)}
.list-checked{list-style:none;padding-left:0;margin:0}
.list-checked li{padding-left:1.75rem;position:relative;margin-bottom:.5rem}
.list-checked li::before{content:"\F26E"; /* bi-check2-circle */ font-family:"bootstrap-icons"; position:absolute;left:0;top:.15rem;color:var(--qcal-blue);font-size:1.1rem}
.list-steps{counter-reset:step;padding-left:0}
.list-steps li{list-style:none;counter-increment:step;margin:.5rem 0;padding-left:2.2rem;position:relative}
.list-steps li::before{content:counter(step);position:absolute;left:0;top:.15rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--qcal-blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600}
.cta-card{border:1px solid var(--qcal-border);border-radius:1rem}
footer a{color:var(--qcal-blue)}
@media (max-width: 575.98px){
  .hero{padding:80px 0}
}