  :root{
    --primary:#0F6CBD;
    --primary-dark:#0A5296;
    --secondary:#14B8A6;
    --accent:#10B981;
    --bg:#F8FAFC;
    --dark:#1E293B;
    --navy:#08213A;
    --navy-2:#0E2F4E;
    --white:#FFFFFF;
    --shadow-color: 15 40 80;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',sans-serif;
    color:var(--dark);
    background:var(--bg);
    overflow-x:hidden;
  }
  h1,h2,h3,h4,.font-display{font-family:'Poppins',sans-serif;}
  .container{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px;}

  ::selection{background:var(--secondary);color:#fff;}

  /* Preloader */
  #preloader{position:fixed;inset:0;background:var(--navy);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease, visibility .6s ease;}
  #preloader.hide{opacity:0;visibility:hidden;}
  .smile-loader{width:64px;height:64px;position:relative;}
  .smile-loader svg{width:100%;height:100%;}
  .smile-loader path{stroke:var(--secondary);stroke-width:6;fill:none;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120;animation:drawSmile 1.4s ease-in-out infinite;}
  @keyframes drawSmile{0%{stroke-dashoffset:120;}50%{stroke-dashoffset:0;}100%{stroke-dashoffset:-120;}}

  /* Navbar */
  #navbar{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .4s ease, box-shadow .4s ease, padding .4s ease;padding:22px 0;}
  #navbar.scrolled{background:rgba(255,255,255,0.92);backdrop-filter:blur(14px);box-shadow:0 8px 30px -12px rgba(15,40,80,.18);padding:12px 0;}
  .nav-link{position:relative;font-weight:500;font-size:14.5px;letter-spacing:.2px;color:var(--dark);transition:color .3s;}
  #navbar:not(.scrolled) .nav-link{color:#fff;}
  #navbar:not(.scrolled) .nav-logo-text{color:#fff;}
  #navbar:not(.scrolled) .nav-logo-sub{color:rgba(255,255,255,.75);}
  .nav-link::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--secondary);transition:width .3s ease;}
  .nav-link:hover::after{width:100%;}
  .nav-link:hover{color:var(--secondary);}

  /* Logo swap (light navbar vs. dark navbar states) */
  .brand-logo{height:38px;width:auto;display:block;transition:opacity .3s ease;}
  .logo-on-dark{display:block;}
  .logo-on-light{display:none;}
  #navbar.scrolled .logo-on-dark{display:none;}
  #navbar.scrolled .logo-on-light{display:block;}

  /* Buttons */
  .btn-primary{
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;font-weight:600;border-radius:999px;padding:15px 32px;
    display:inline-flex;align-items:center;gap:10px;font-size:15px;
    box-shadow:0 14px 30px -10px rgba(15,108,189,.55);
    transition:transform .35s cubic-bezier(.2,.9,.3,1), box-shadow .35s ease;
  }
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 40px -10px rgba(15,108,189,.65);}
  .btn-outline{
    border:1.5px solid rgba(255,255,255,.55);color:#fff;font-weight:600;border-radius:999px;
    padding:14px 30px;display:inline-flex;align-items:center;gap:10px;font-size:15px;
    transition:all .35s ease;backdrop-filter:blur(6px);
  }
  .btn-outline:hover{background:#fff;color:var(--primary-dark);border-color:#fff;}
  .btn-dark-outline{border:1.5px solid #cbd5e1;color:var(--dark);font-weight:600;border-radius:999px;padding:14px 30px;display:inline-flex;align-items:center;gap:10px;font-size:15px;transition:all .3s ease;}
  .btn-dark-outline:hover{border-color:var(--primary);color:var(--primary);}

  /* Hero */
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;background:linear-gradient(160deg,#082744 0%, #0A3A63 45%, #0F6CBD 100%);overflow:hidden;padding-top:120px;padding-bottom:80px;}
  .hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 85% 20%, rgba(20,184,166,.35), transparent 45%), radial-gradient(circle at 10% 90%, rgba(16,185,129,.25), transparent 40%);pointer-events:none;}
  .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(53, 3, 114, 0.388);border:1px solid rgba(31, 6, 139, 0.411);color:#CFEFEA;padding:8px 18px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.4px;backdrop-filter:blur(6px);}
  .hero h1{color:#fff;font-weight:700;letter-spacing:-1px;line-height:1.08;}
  .hero p.lead{color:rgba(255,255,255,.82);}
  .float-card{position:absolute;background:rgba(255,255,255,.97);border-radius:20px;box-shadow:0 30px 60px -20px rgba(2, 68, 145, 0.811);padding:18px 20px;backdrop-filter:blur(10px);animation:floatY 5s ease-in-out infinite;}
  @keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
  .hero-photo-wrap{position:relative;}
  .hero-photo{border-radius:28px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(2,15,32,.6);border:6px solid rgba(255,255,255,.12);}

  .stat-strip{background:rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);}
  .stat-num{font-family:'Poppins',sans-serif;font-weight:700;color:#fff;letter-spacing:-1px;}

  /* smile divider */
  .smile-divider{display:block;width:100%;height:60px;}

  /* Reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);}
  .reveal.in{opacity:1;transform:translateY(0);}
  .reveal-delay-1{transition-delay:.1s;}
  .reveal-delay-2{transition-delay:.2s;}
  .reveal-delay-3{transition-delay:.3s;}
  .reveal-delay-4{transition-delay:.4s;}

  /* Section labels */
  .eyebrow{color:var(--primary);font-weight:700;letter-spacing:2.5px;text-transform:uppercase;font-size:12.5px;}
  .eyebrow::before{content:'';display:inline-block;width:26px;height:2px;background:var(--secondary);margin-right:10px;vertical-align:middle;}

  /* Trust cards */
  .trust-card{background:#fff;border-radius:20px;padding:34px 28px;box-shadow:0 10px 40px -18px rgba(15,40,80,.15);border:1px solid rgba(15,108,189,.06);transition:transform .4s cubic-bezier(.2,.8,.3,1), box-shadow .4s ease;}
  .trust-card:hover{transform:translateY(-8px);box-shadow:0 30px 50px -20px rgba(15,108,189,.25);}
  .trust-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(15,108,189,.12), rgba(20,184,166,.12));color:var(--primary);}

  /* Service cards */
  .service-card{position:relative;background:#fff;border-radius:22px;padding:32px 26px;overflow:hidden;box-shadow:0 10px 34px -18px rgba(15,40,80,.16);transition:transform .45s cubic-bezier(.2,.8,.3,1), box-shadow .45s ease;isolation:isolate;}
  .service-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--primary),var(--secondary));opacity:0;transition:opacity .45s ease;z-index:-1;}
  .service-card:hover{transform:translateY(-10px);box-shadow:0 30px 55px -18px rgba(15,108,189,.35);}
  .service-card:hover::before{opacity:1;}
  .service-card:hover .svc-title, .service-card:hover .svc-desc{color:#fff;}
  .service-card:hover .svc-icon{background:rgba(255,255,255,.18);color:#fff;}
  .service-card:hover .svc-link{color:#fff;}
  .svc-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg, rgba(15,108,189,.1), rgba(16,185,129,.12));color:var(--primary);display:flex;align-items:center;justify-content:center;transition:all .4s ease;}
  .svc-title{transition:color .4s ease;}
  .svc-desc{transition:color .4s ease;color:#64748B;}
  .service-card:hover .svc-desc{color:rgba(255,255,255,.9);}
  .svc-link{color:var(--primary);font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;gap:6px;transition:color .4s ease, gap .3s ease;}
  .service-card:hover .svc-link{gap:10px;}

  /* About */
  .about-photo{border-radius:28px;box-shadow:0 40px 70px -30px rgba(15,40,80,.35);}
  .cred-pill{background:#fff;border-radius:14px;padding:10px 16px;box-shadow:0 12px 30px -14px rgba(15,40,80,.25);font-size:13.5px;font-weight:600;color:var(--dark);display:inline-flex;align-items:center;gap:8px;}

  /* Gallery */
  .gallery-item{position:relative;border-radius:18px;overflow:hidden;cursor:pointer;box-shadow:0 14px 34px -18px rgba(15,40,80,.3);}
  .gallery-item img{transition:transform .6s ease;display:block;width:100%;height:100%;object-fit:cover;}
  .gallery-item:hover img{transform:scale(1.08);}
  .gallery-overlay{position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, rgba(8,33,58,.85));opacity:0;transition:opacity .4s ease;display:flex;align-items:flex-end;padding:18px;}
  .gallery-item:hover .gallery-overlay{opacity:1;}

  /* Testimonials */
  .testi-card{background:#fff;border-radius:22px;padding:34px;box-shadow:0 20px 50px -22px rgba(15,40,80,.25);}
  .stars{color:#F5A623;}

  /* Process timeline */
  .process-num{font-family:'Poppins',sans-serif;font-weight:800;font-size:15px;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--primary);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -8px rgba(15,108,189,.4);border:2px solid var(--secondary);}

  /* FAQ */
  .faq-item{border-bottom:1px solid #E2E8F0;}
  .faq-q{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:22px 4px;font-weight:600;font-size:16px;color:var(--dark);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease, padding .4s ease;color:#64748B;font-size:15px;line-height:1.7;padding:0 4px;}
  .faq-item.open .faq-a{max-height:300px;padding-bottom:22px;}
  .faq-item.open .faq-icon{transform:rotate(45deg);}
  .faq-icon{transition:transform .35s ease;color:var(--primary);}

  /* Contact */
  .contact-input{width:100%;background:#fff;border:1.5px solid #E2E8F0;border-radius:14px;padding:15px 18px;font-size:15px;transition:border-color .3s ease, box-shadow .3s ease;}
  .contact-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(15,108,189,.12);}
  .contact-info-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:22px;backdrop-filter:blur(6px);}

  /* Footer */
  footer a{transition:color .3s ease;}
  footer a:hover{color:var(--secondary);}
  .social-icon{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:all .35s ease;}
  .social-icon:hover{background:var(--secondary);transform:translateY(-4px);}

  /* Floating action buttons */
  .fab{position:fixed;right:24px;z-index:900;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.35);transition:transform .3s ease, opacity .3s ease;}
  #whatsapp-fab{bottom:24px;background:#25D366;color:#fff;}
  #whatsapp-fab:hover{transform:scale(1.08);}
  #back-to-top{bottom:92px;background:#fff;color:var(--primary);opacity:0;pointer-events:none;transform:translateY(10px);}
  #back-to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}

  /* Mobile menu */
  #mobile-menu{position:fixed;inset:0;background:var(--navy);z-index:1100;transform:translateX(100%);transition:transform .5s cubic-bezier(.2,.9,.2,1);}
  #mobile-menu.open{transform:translateX(0);}

  /* Lightbox */
  #lightbox{position:fixed;inset:0;background:rgba(3,15,30,.92);z-index:1200;display:none;align-items:center;justify-content:center;padding:24px;}
  #lightbox.open{display:flex;}
  #lightbox img{max-width:90vw;max-height:85vh;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.5);}

  @media (max-width: 768px){
    .hero{padding-top:110px;text-align:left;}
    .float-card{position:static;margin-top:20px;animation:none;}
  }
  @media (prefers-reduced-motion: reduce){
    *{animation:none !important;transition:none !important;}
  }
  .social-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #1e3a8a; /* Your primary color */
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: 0.3s;
}

.social-icon i {
    font-size: 18px;
    color: white;
}

.social-icon:hover {
    transform: translateY(-3px);
}
