:root{
  --primary:#F59E0B;
  --primary-dark:#D97706;
  --navy:#1E293B;
  --navy-light:#334155;
  --accent:#2563EB;
  --light-gray:#F8FAFC;
  --white:#ffffff;
  --text-muted:#64748B;
}

body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--navy);background:var(--white);}
h1,h2,h3,h4,h5{font-weight:800;color:var(--navy);}
a{text-decoration:none;}

/* Top bar */
.topbar{background:var(--navy);color:#cbd5e1;font-size:.85rem;padding:6px 0;}
.topbar a{color:#e2e8f0;font-weight:600;}
.topbar a:hover{color:var(--primary);}

/* Header */
.site-header{background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,.06);position:sticky;top:0;z-index:1000;}
.navbar-brand img{height:48px;}
.navbar-brand .brand-text{font-weight:800;font-size:1.25rem;color:var(--navy);}
.navbar-brand .brand-text span{color:var(--primary);}
.nav-link{font-weight:600;color:var(--navy)!important;margin:0 6px;}
.nav-link.active,.nav-link:hover{color:var(--accent)!important;}
.btn-call-header{background:var(--navy);color:#fff;font-weight:700;border-radius:30px;padding:8px 18px;}
.btn-wa-header{background:#25D366;color:#fff;font-weight:700;border-radius:30px;padding:8px 18px;}
.btn-call-header:hover,.btn-wa-header:hover{filter:brightness(1.08);color:#fff;}

/* Hero */
.hero{position:relative;background:linear-gradient(120deg,rgba(15,23,42,.92),rgba(30,41,59,.78)),url('https://images.unsplash.com/photo-1621905251189-08b45d6a269e?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;color:#fff;padding:120px 0 90px;}
.hero .eyebrow{color:var(--primary);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:.85rem;}
.hero h1{font-size:2.9rem;color:#fff;}
.hero p.lead{color:#cbd5e1;font-size:1.15rem;}
.hero-feature{display:flex;align-items:center;gap:8px;color:#e2e8f0;font-weight:600;margin-bottom:8px;}
.hero-feature i{color:var(--primary);}
.btn-primary-cta{background:var(--primary);border:none;color:var(--navy);font-weight:800;border-radius:30px;padding:12px 28px;}
.btn-primary-cta:hover{background:var(--primary-dark);color:var(--navy);}
.btn-outline-cta{border:2px solid #fff;color:#fff;font-weight:700;border-radius:30px;padding:11px 26px;}
.btn-outline-cta:hover{background:#fff;color:var(--navy);}

/* Booking form */
.booking-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.25);color:var(--navy);}
.booking-card h5{font-weight:800;}

/* Page hero (sub pages) */
.page-hero{background:linear-gradient(120deg,var(--navy),var(--navy-light));color:#fff;padding:70px 0 50px;}
.page-hero h1{color:#fff;font-size:2.4rem;}
.breadcrumb-light a{color:#cbd5e1;}
.breadcrumb-light .active{color:var(--primary);}

/* Section spacing */
.section{padding:80px 0;}
.section-gray{background:var(--light-gray);}
.section-title .eyebrow{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;font-size:.85rem;}
.section-title h2{font-size:2.2rem;}
.section-title p{color:var(--text-muted);max-width:650px;}

/* Service cards */
.service-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:28px 22px;height:100%;transition:.25s;}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.08);border-color:var(--primary);}
.service-icon{width:56px;height:56px;border-radius:12px;background:rgba(245,158,11,.12);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--primary);margin-bottom:16px;}
.service-card h5{font-size:1.05rem;}
.service-card ul{padding-left:18px;color:var(--text-muted);font-size:.92rem;}
.service-card ul li{margin-bottom:4px;}

/* search filter */
.service-search{max-width:480px;margin:0 auto 40px;}
.service-search input{border-radius:30px 0 0 30px;padding:12px 20px;}
.service-search button{border-radius:0 30px 30px 0;background:var(--primary);border:none;color:var(--navy);font-weight:700;padding:0 22px;}

/* Why choose us */
.feature-box{text-align:center;padding:30px 18px;background:#fff;border-radius:14px;height:100%;border:1px solid #E2E8F0;}
.feature-box .icon-circle{width:64px;height:64px;border-radius:50%;background:var(--navy);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 14px;}

/* How it works */
.step-box{text-align:center;position:relative;}
.step-num{width:54px;height:54px;border-radius:50%;background:var(--primary);color:var(--navy);font-weight:800;font-size:1.3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}

/* About */
.about-img{border-radius:18px;box-shadow:0 25px 50px rgba(0,0,0,.15);}
.about-check{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;}
.about-check i{color:var(--primary);margin-top:3px;}

/* Counters */
.counter-section{background:var(--navy);color:#fff;}
.counter-box{text-align:center;}
.counter-num{font-size:2.6rem;font-weight:800;color:var(--primary);}
.counter-label{color:#cbd5e1;font-weight:600;}

/* Testimonials */
.testimonial-card{background:#fff;border-radius:14px;padding:28px;border:1px solid #E2E8F0;height:100%;}
.testimonial-card .stars{color:var(--primary);margin-bottom:10px;}
.testimonial-card .name{font-weight:700;margin-top:14px;}
.testimonial-card .role{color:var(--text-muted);font-size:.85rem;}

/* FAQ */
.accordion-button{font-weight:700;color:var(--navy);}
.accordion-button:not(.collapsed){color:var(--accent);background:#EFF6FF;}
.accordion-button:focus{box-shadow:none;border-color:var(--accent);}

/* Contact */
.contact-info-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;}
.contact-info-item .icon-circle-sm{width:46px;height:46px;border-radius:50%;background:rgba(37,99,235,.1);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-form-card{background:#fff;border-radius:16px;padding:34px;box-shadow:0 18px 45px rgba(0,0,0,.08);}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--primary),var(--primary-dark));color:var(--navy);}
.cta-band h2{color:var(--navy);}

/* Footer */
footer{background:var(--navy);color:#cbd5e1;padding:60px 0 20px;}
footer h5{color:#fff;font-weight:700;margin-bottom:18px;}
footer a{color:#cbd5e1;}
footer a:hover{color:var(--primary);}
footer ul{list-style:none;padding:0;}
footer ul li{margin-bottom:10px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:20px;font-size:.85rem;text-align:center;color:#94a3b8;}
.social-icons a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;margin-right:8px;}
.social-icons a:hover{background:var(--primary);color:var(--navy);}

/* Floating buttons */
.float-btn{position:fixed;bottom:22px;z-index:1100;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.3);animation:pulse 2.2s infinite;}
.float-whatsapp{right:22px;background:#25D366;}
.float-call{left:22px;background:var(--accent);}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,0,0,.25)}70%{box-shadow:0 0 0 14px rgba(0,0,0,0)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}

/* Scroll animation */
.aos{opacity:0;transform:translateY(24px);transition:all .6s ease;}
.aos.aos-in{opacity:1;transform:translateY(0);}

/* Loader */
#page-loader{position:fixed;inset:0;background:#fff;z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .4s ease;}
#page-loader .spin{width:54px;height:54px;border:5px solid #E2E8F0;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* Sticky badges row */
.badge-pill{background:rgba(245,158,11,.12);color:var(--primary-dark);font-weight:700;border-radius:30px;padding:6px 16px;font-size:.85rem;display:inline-block;margin-bottom:14px;}

@media (max-width:767px){
  .hero h1{font-size:2.1rem;}
  .section{padding:55px 0;}

  /* Stack hero CTA buttons so text never wraps/overlaps */
  .hero .btn-primary-cta,
  .hero .btn-outline-cta{
    display:block;
    width:100%;
    text-align:center;
    margin:0 0 12px 0 !important;
    white-space:nowrap;
  }

  /* Smaller, edge-inset floating buttons so they don't sit on top of form fields */
  .float-btn{
    width:50px;
    height:50px;
    font-size:1.25rem;
    bottom:16px;
  }
  .float-whatsapp{right:16px;}
  .float-call{left:16px;}

  /* Keep form fields clear of the floating buttons on small screens */
  .booking-card,
  .contact-form-card{
    margin-left:6px;
    margin-right:6px;
    padding-left:20px;
    padding-right:20px;
  }
  .booking-card .form-control,
  .booking-card .form-select,
  .contact-form-card .form-control,
  .contact-form-card .form-select{
    padding-left:14px;
    padding-right:14px;
  }

  /* Reserve space so the page never has body content tucked exactly under the floating buttons */
  body{padding-bottom:0;}
}
