
:root{--navy:#102a43;--blue:#1677ff;--sky:#eaf4ff;--green:#19a974;--ink:#172b4d;--muted:#6b7c93;--white:#fff;--bg:#f7f9fc;--line:#e4eaf1;--shadow:0 18px 50px rgba(16,42,67,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--ink);background:var(--white);line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}
.topbar{background:#0b1f33;color:#dce8f4;font-size:13px}.topbar .container{display:flex;justify-content:space-between;padding:8px 0}.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.navin{height:76px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:22px;font-weight:900;letter-spacing:-.5px;color:var(--navy)}.logo span{color:var(--blue)}.links{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:650}.links a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:9px;font-weight:750;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#0c63d9}.btn-outline{border-color:#c9d7e6;background:#fff;color:var(--navy)}.menu{display:none;background:none;border:0;font-size:26px}
.hero{min-height:650px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(7,27,47,.90),rgba(7,27,47,.58),rgba(7,27,47,.18)),url('../assets/images/hero.png') center/cover}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.04;max-width:780px;margin:12px 0}.hero p{font-size:19px;max-width:680px;color:#e9f2fa}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800;color:#79b7ff}.hero .btn{margin-right:10px;margin-top:14px}.trust{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px;font-size:14px}.trust b{display:block;font-size:23px}
.section{padding:85px 0}.section.alt{background:var(--bg)}.heading{text-align:center;max-width:720px;margin:0 auto 45px}.heading h2{font-size:38px;line-height:1.15;margin:10px 0}.heading p{color:var(--muted)}.grid{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(16,42,67,.05)}.cardbody{padding:24px}.service-card img{height:220px;width:100%;object-fit:cover;object-position:center;transition:transform .5s ease}.service-card:hover img{transform:scale(1.045)}.service-card h3{margin:0 0 7px;font-size:20px}.service-card p{color:var(--muted);font-size:14px}.arrow{color:var(--blue);font-weight:800;font-size:14px}
.icon{width:48px;height:48px;border-radius:12px;background:var(--sky);display:grid;place-items:center;color:var(--blue);font-size:21px;margin-bottom:15px}.feature{padding:28px}.feature h3{margin:0 0 8px}.feature p{margin:0;color:var(--muted);font-size:14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{border-radius:20px;box-shadow:var(--shadow)}.split h2{font-size:40px;line-height:1.15}.check{display:flex;gap:10px;margin:12px 0}.check span{color:var(--green);font-weight:900}
.steps{counter-reset:step}.step{position:relative;padding:30px}.step:before{counter-increment:step;content:"0" counter(step);font-size:42px;font-weight:900;color:#d9e9fb}.step h3{margin:5px 0}.step p{color:var(--muted)}
.stats{background:var(--navy);color:#fff}.stats .grid{grid-template-columns:repeat(4,1fr)}.stat{padding:15px;text-align:center}.stat b{font-size:38px;display:block}.stat span{color:#bcd0e2}
.cta{padding:70px 0;background:linear-gradient(110deg,#0f3760,#1677ff);color:#fff}.cta .container{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{font-size:35px;margin:0}.cta p{margin:5px 0;color:#dceaff}.cta .btn{background:#fff;color:var(--navy)}
.testimonial{padding:27px}.stars{color:#ffad1f;letter-spacing:2px}.testimonial p{font-size:15px}.person{font-weight:800}.faq{border-bottom:1px solid var(--line)}.faq button{width:100%;padding:20px 0;border:0;background:none;text-align:left;font-weight:750;font-size:16px;cursor:pointer;display:flex;justify-content:space-between}.faq .ans{display:none;color:var(--muted);padding:0 0 20px}.faq.open .ans{display:block}
.pagehero{padding:90px 0;background:linear-gradient(90deg,rgba(10,35,58,.88),rgba(10,35,58,.42)),url('../assets/images/city.png') center/cover;color:#fff}.pagehero h1{font-size:52px;margin:8px 0}.pagehero p{max-width:650px;color:#e1edf8}
.service-detail{display:grid;grid-template-columns:1.5fr .8fr;gap:45px}.sidebox{background:var(--bg);padding:28px;border-radius:16px;height:max-content;position:sticky;top:100px}.sidebox h3{margin-top:0}.form{display:grid;gap:15px}.form input,.form select,.form textarea{width:100%;padding:14px;border:1px solid #ccd8e5;border-radius:9px;font:inherit;background:#fff}.form textarea{min-height:130px}.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#e8f2ff;color:var(--blue);font-size:12px;font-weight:800}.article{max-width:820px;margin:auto}.article h2{margin-top:35px}.article p,.article li{color:#53677d}
.footer{background:#081a2a;color:#b9c8d8;padding:60px 0 25px}.footergrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}.footer h3,.footer h4{color:#fff}.footer a{display:block;margin:8px 0;font-size:14px}.copy{border-top:1px solid #1d3448;margin-top:35px;padding-top:20px;font-size:13px}
.whatsapp{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:27px;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:60}
@media(max-width:900px){.links{display:none}.menu{display:block}.grid-4,.stats .grid{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.split,.service-detail{grid-template-columns:1fr}.sidebox{position:static}.cta .container{display:block}.cta .btn{margin-top:20px}.footergrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar .container{justify-content:center}.topbar .right{display:none}.hero{min-height:590px}.hero h1{font-size:42px}.section{padding:60px 0}.heading h2,.split h2{font-size:31px}.grid-3,.grid-4,.stats .grid,.footergrid{grid-template-columns:1fr}.pagehero{padding:65px 0}.pagehero h1{font-size:40px}.trust{gap:18px}.navin{height:68px}}

.service-card{transition:transform .25s ease,box-shadow .25s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(16,42,67,.13)}

.brand-logo{display:block;width:164px;height:44px;object-fit:contain;object-position:center}
.footer-logo{display:inline-flex;align-items:center;background:#fff;border-radius:8px;padding:3px 8px;margin-bottom:12px}
.footer-logo .brand-logo{width:164px;height:44px}
@media(max-width:900px){.brand-logo{width:150px;height:42px}}
@media(max-width:560px){.brand-logo{width:142px;height:40px}.footer-logo .brand-logo{width:150px;height:40px}}


/* ===== Mobile & responsive fixes ===== */
html, body { overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
button, input, select, textarea { max-width: 100%; }

@media (max-width: 900px) {
  .navin { position: relative; }
  .menu {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--navy);
    cursor: pointer;
    border-radius: 8px;
  }
  .links {
    display: none;
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    width: 100%;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--line);
    border-top: 0;
    box-shadow: 0 14px 30px rgba(16,42,67,.12);
    border-radius: 0 0 14px 14px;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    z-index: 100;
  }
  .links.mobile-open { display: flex; }
  .links a {
    width: 100%;
    padding: 12px 14px;
    border-radius: 8px;
  }
  .links a:hover { background: var(--bg); }
  .links .btn { margin-top: 6px; text-align: center; }
  .hero .container { padding-top: 35px; padding-bottom: 35px; }
  .hero .btn { margin-right: 0; }
  .cta .container { gap: 18px; }
}

@media (max-width: 600px) {
  .container { width: min(92%, 520px); }
  .topbar { font-size: 12px; }
  .topbar .container { padding: 7px 0; text-align: center; }
  .navin { height: 66px; }
  .brand-logo { width: 140px; height: 40px; }

  .hero {
    min-height: 0;
    padding: 72px 0 62px;
    background-position: 60% center;
  }
  .hero h1 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.08;
    margin: 10px 0 16px;
  }
  .hero p {
    font-size: 16px;
    line-height: 1.55;
    margin-bottom: 4px;
  }
  .hero .btn {
    width: 100%;
    margin: 10px 0 0;
    padding: 13px 16px;
  }
  .trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 28px;
  }
  .trust b { font-size: 26px; }

  .section { padding: 56px 0; }
  .heading { margin-bottom: 30px; }
  .heading h2, .split h2 {
    font-size: clamp(28px, 8vw, 34px);
    line-height: 1.15;
  }
  .heading p { font-size: 15px; }

  .grid-3, .grid-4, .stats .grid {
    grid-template-columns: 1fr;
  }
  .cardbody, .feature, .step { padding: 20px; }
  .service-card img { height: 190px; }

  .split {
    gap: 30px;
  }
  .split img {
    border-radius: 14px;
  }
  .check { align-items: flex-start; }

  .stats .section { padding: 42px 0; }
  .stat { padding: 10px; }
  .stat b { font-size: 32px; }

  .cta { padding: 52px 0; }
  .cta h2 { font-size: 29px; line-height: 1.2; }
  .cta .btn { width: 100%; }

  .pagehero {
    padding: 58px 0;
    background-position: center;
  }
  .pagehero h1 {
    font-size: clamp(34px, 9vw, 42px);
    line-height: 1.1;
  }
  .pagehero p { font-size: 15px; }

  .service-detail {
    gap: 28px;
  }
  .sidebox {
    padding: 20px;
  }
  .form input, .form select, .form textarea {
    font-size: 16px; /* prevents iOS zoom */
  }

  .faq button {
    gap: 12px;
    align-items: flex-start;
    padding: 17px 0;
    font-size: 15px;
  }

  .article {
    width: 100%;
  }
  .article h2 {
    font-size: 25px;
    line-height: 1.25;
  }
  .article p, .article li {
    font-size: 15px;
  }

  .footer { padding: 48px 0 22px; }
  .footergrid { gap: 28px; }
  .footer-logo .brand-logo { width: 145px; height: 40px; }

  .whatsapp {
    width: 52px;
    height: 52px;
    right: 14px;
    bottom: 14px;
    font-size: 24px;
  }
}

@media (max-width: 380px) {
  .container { width: 90%; }
  .brand-logo { width: 128px; height: 38px; }
  .hero { padding-top: 58px; }
  .hero h1 { font-size: 32px; }
  .hero p { font-size: 15px; }
  .pagehero h1 { font-size: 32px; }
  .section { padding: 48px 0; }
}

/* Contact details: keep long address readable on small screens */
.footer-contact-info { line-height: 1.55; margin-bottom: 10px; }
.footer-contact-info p { margin: 0 0 10px; }
.footer-contact-info a { display: inline; }
@media (max-width: 640px) {
  .footer-contact-info { overflow-wrap: anywhere; word-break: normal; }
}
