:root{
  --brand-primary:#0d6efd;
  --brand-accent:#20c997;
  --brand-dark:#0b1a1a;
  --text:#1d1f21;
  --muted:#6b7280;
  --radius:1rem;
  --shadow:0 10px 24px rgba(0,0,0,.08);
}

html{scroll-behavior:smooth}
body{font-size:16px;color:var(--text)}

.bg-dark{background-color:var(--brand-dark)!important}
.topbar, .cta-gradient{background:linear-gradient(90deg,var(--brand-primary),var(--brand-accent))}

.navbar{box-shadow:0 6px 20px rgba(0,0,0,.06)}
.navbar .nav-link{font-weight:600}
.navbar .nav-link:hover{color:var(--brand-accent)}

.btn{border-radius:12px;box-shadow:var(--shadow)}
.btn-primary{border:0;background-image:linear-gradient(90deg,var(--brand-primary),var(--brand-accent))}
.btn-primary:hover{filter:brightness(.95)}
.btn-outline-light{border-width:2px}
.btn-outline-light:hover{background:#fff;color:var(--brand-primary)}

.badge{border-radius:999px;padding:.5rem .75rem}

section{scroll-margin-top:90px}

#home .display-4{letter-spacing:.2px}
#home .card{border-radius:var(--radius);box-shadow:var(--shadow)}

.card{border:0;border-radius:var(--radius);box-shadow:var(--shadow)}
.list-group-item{border:0;border-bottom:1px solid #eef2f7}
.list-group-item:last-child{border-bottom:0}

.accordion .accordion-button{font-weight:600}
.accordion .accordion-button:not(.collapsed){background:rgba(13,110,253,.06);color:var(--text)}
.accordion .accordion-item{border:0;box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}
.accordion .accordion-item+.accordion-item{margin-top:1rem}

#offer{background:linear-gradient(135deg,rgba(13,110,253,.08),rgba(32,201,151,.12))}
#offer .rounded-circle{box-shadow:var(--shadow)}

#areas .badge{background:rgba(13,110,253,.08);color:var(--brand-primary);border:1px dashed var(--brand-primary);font-weight:600}

#gallery .card{overflow:hidden}
#gallery img{transition:transform .6s ease}
#gallery .card:hover img{transform:scale(1.06)}

footer .nav-link{color:#c7e8e8}
footer .nav-link:hover{color:#fff}
footer .link-light:hover{opacity:.85}

.reveal{opacity:1;transform:translateY(20px)}
.reveal.show{opacity:1;transform:none}
.reveal.show[data-animate="fade-up"]{animation:fadeUp .7s ease both}
.reveal.show[data-animate="slide-left"]{animation:slideLeft .7s ease both}
.reveal.show[data-animate="slide-right"]{animation:slideRight .7s ease both}
.reveal.show[data-animate="slide-up"]{animation:slideUp .7s ease both}
.reveal.show[data-animate="zoom-in"]{animation:zoomIn .6s ease both}
.reveal.show[data-animate="fade-in"]{animation:fadeIn .6s ease both}
.reveal.show[data-animate="rise"]{animation:rise .7s ease both}
.reveal.show[data-animate="pop"]{animation:pop .5s ease both}
.reveal.show[data-animate="chip"]{animation:chip .5s cubic-bezier(.2,.8,.2,1) both}

.reveal[data-delay="50"].show{animation-delay:.05s}
.reveal[data-delay="100"].show{animation-delay:.1s}
.reveal[data-delay="150"].show{animation-delay:.15s}
.reveal[data-delay="200"].show{animation-delay:.2s}
.reveal[data-delay="250"].show{animation-delay:.25s}
.reveal[data-delay="300"].show{animation-delay:.3s}
.reveal[data-delay="350"].show{animation-delay:.35s}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes slideLeft{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes slideRight{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes slideUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes zoomIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes pop{0%{opacity:0;transform:scale(.9)}60%{opacity:1;transform:scale(1.03)}100%{transform:scale(1)}}
@keyframes chip{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
:root{--brand-primary:#0d6efd;--brand-accent:#20c997}

section.py-4.border-bottom.reveal[data-animate="fade-up"]{
  background:linear-gradient(180deg,rgba(13,110,253,.03),rgba(32,201,151,.03));
}

section.py-4.border-bottom.reveal[data-animate="fade-up"] .row>.col>.bg-white{
  position:relative;
  background:linear-gradient(#fff,#fff) padding-box,
             linear-gradient(90deg,rgba(13,110,253,.25),rgba(32,201,151,.25)) border-box;
  border:1px solid transparent!important;
  border-radius:1rem!important;
  padding:1.25rem!important;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  transition:transform .25s ease, box-shadow .25s ease;
}

section.py-4.border-bottom.reveal[data-animate="fade-up"] .row>.col>.bg-white:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(0,0,0,.12);
}

section.py-4.border-bottom.reveal[data-animate="fade-up"] .row>.col>.bg-white::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(600px 200px at -10% -20%,rgba(13,110,253,.08),transparent),
    radial-gradient(500px 180px at 110% 120%,rgba(32,201,151,.08),transparent);
  pointer-events:none;
  border-radius:inherit;
}

section.py-4.border-bottom.reveal[data-animate="fade-up"] .fs-3.fw-bold{
  background:linear-gradient(90deg,var(--brand-primary),var(--brand-accent));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  letter-spacing:.2px;
}

section.py-4.border-bottom.reveal[data-animate="fade-up"] .text-muted{
  color:#6b7280!important;
  font-weight:600;
}

section.py-4.border-bottom.reveal[data-animate="fade-up"] .row{
  --bs-gutter-x:1rem;
}

section.py-4.border-bottom.reveal[data-animate="fade-up"] .reveal.show[data-animate="rise"]{
  animation:rise .7s ease both;
}
#offer .offer-col{
  background:
    linear-gradient(135deg, rgba(13,110,253,.12), rgba(32,201,151,.12)),
    url('../images/offer-bg.jpg') center/cover no-repeat;
  border-radius: 1rem;
  padding: 12px;
  min-height: 350px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 992px){
  #offer .offer-col{ justify-content: flex-end; }
}
#testimonials .avatar{
  width:88px;height:88px;border-radius:50%;
  object-fit:cover;display:block;margin:16px auto 0;
  border:3px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.08)
}
#testimonials .card{text-align:center}
#testimonials .text-warning i{margin-right:2px}
#guarantee{
  position:relative;
  background:linear-gradient(180deg,rgba(13,110,253,.03),rgba(32,201,151,.03));
  overflow:hidden
}
#guarantee::before,
#guarantee::after{
  content:"";
  position:absolute;
  inset:auto;
  width:520px;height:520px;
  border-radius:50%;
  filter:blur(60px);
  pointer-events:none
}
#guarantee::before{
  right:-260px;top:-260px;
  background:radial-gradient(closest-side,rgba(13,110,253,.12),transparent)
}
#guarantee::after{
  left:-260px;bottom:-260px;
  background:radial-gradient(closest-side,rgba(32,201,151,.12),transparent)
}
#guarantee h2{
  background:linear-gradient(90deg,#0d6efd,#20c997);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  letter-spacing:.2px
}
#guarantee p{max-width:560px}

#guarantee .list-group{
  background:linear-gradient(#fff,#fff) padding-box,
             linear-gradient(90deg,rgba(13,110,253,.3),rgba(32,201,151,.3)) border-box;
  border:1px solid transparent;
  border-radius:1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  transition:transform .25s ease, box-shadow .25s ease
}
#guarantee .list-group:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(0,0,0,.12)
}
#guarantee .list-group-item{
  display:flex;align-items:center;gap:.5rem;
  background:transparent;border:0;border-bottom:1px solid #eef2f7;
  padding:14px 16px
}
#guarantee .list-group-item:last-child{border-bottom:0}
#guarantee .list-group-item i{
  background:linear-gradient(90deg,#0d6efd,#20c997);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent
}
#guarantee .reveal.show[data-animate="slide-up"]{animation:slideUp .7s ease both}
#faq .accordion-item{
  background:linear-gradient(#fff,#fff) padding-box,
             linear-gradient(90deg,rgba(13,110,253,.25),rgba(32,201,151,.25)) border-box;
  border:1px solid transparent;
  border-radius:1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  overflow:hidden
}
#faq .accordion-item + .accordion-item{margin-top:1rem}
#faq .accordion-button{
  padding:1rem 1.25rem;
  font-weight:700;
  background:transparent;
  gap:.5rem
}
#faq .accordion-button::after{display:none}
#faq .accordion-button .chevron i{transition:transform .25s ease}
#faq .accordion-button[aria-expanded="true"] .chevron i{transform:rotate(180deg)}
#faq .accordion-button:not(.collapsed){
  background:linear-gradient(90deg,rgba(13,110,253,.06),rgba(32,201,151,.06));
  color:#1d1f21
}
#faq .accordion-body{
  padding:1rem 1.25rem;
  background:linear-gradient(180deg,#fff,rgba(13,110,253,.03));
  border-top:1px solid #eef2f7
}

#contact{
  position:relative;
  background:
    linear-gradient(135deg, rgba(13,110,253,.08), rgba(32,201,151,.08));
  overflow:hidden
}
#contact h2{
  background:linear-gradient(90deg,#0d6efd,#20c997);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent
}
#contact .card{
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.6);
  border-radius:1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.08)
}
#contact .form-control, #contact .form-select{
  border-radius:12px;
  border:1px solid #dfe4ea
}
#contact .form-control:focus, #contact .form-select:focus{
  border-color:#0d6efd;
  box-shadow:0 0 0 0.25rem rgba(13,110,253,.15)
}
#contact .btn-primary{
  border:0;
  background-image:linear-gradient(90deg,#0d6efd,#20c997)
}
#contact .contact-image{
  width:100%;
  height:auto;
  border-radius:12px;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
  object-fit:cover
}
footer .nav-link{color:#c7e8e8}
footer .nav-link:hover{color:#fff}
footer .link-light:hover{opacity:.85}
.footer-subscribe .form-control{
  background-color:rgba(255,255,255,.08);
  color:#fff;border-color:rgba(255,255,255,.25);
  border-radius:.75rem 0 0 .75rem
}
.footer-subscribe .form-control::placeholder{color:rgba(255,255,255,.6)}
.footer-subscribe .btn{
  border:0;border-radius:0 .75rem .75rem 0;
  background-image:linear-gradient(90deg,#0d6efd,#20c997)
}
.footer-subscribe .btn:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.cookie-banner{
  position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1080;
  background:linear-gradient(90deg,rgba(13,110,253,.95),rgba(32,201,151,.95));
  color:#fff;border-radius:1rem;box-shadow:0 10px 24px rgba(0,0,0,.18);
  padding:1rem 1.25rem
}
@media(min-width:768px){.cookie-banner{right:auto;max-width:560px}}
.cookie-banner a{color:#fff;text-decoration:underline}
.cookie-banner .btn-primary{border:0;background-image:linear-gradient(90deg,#0d6efd,#20c997)}
.cookie-banner .btn-outline-light{border-width:2px}
.cookie-banner.hide{display:none}








