/* =====================================================
   ROOT VARIABLES
===================================================== */
:root{
  --primary:#1f6f78;
  --secondary:#2f9fa9;
  --dark:#1f2933;
  --muted:#4b5563;
  --overlay-dark: rgba(2,6,23,.78);
  --overlay-light: rgba(2,6,23,.45);
}

/* =====================================================
   BASE
===================================================== */
body{
  font-family:Inter,system-ui,sans-serif;
  background:#f8fafc;
  color:var(--dark);
  padding-top:80px;
}

h1,h2,h3{
  font-family:Poppins,sans-serif;
  letter-spacing:-0.02em;
}

p{
  color:var(--muted);
  line-height:1.7;
}

/* =====================================================
   STICKY HEADER + TOPBAR
===================================================== */
#site-header{
  position:fixed;
  top:0;
  width:100%;
  z-index:1030;
  transition:transform .35s ease;
}

#topbar{
  height:36px;
  font-size:14px;
  background:#1f9393;
}

/* =====================================================
   NAVBAR
===================================================== */
.navbar{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #e5e7eb;
  transition:.35s ease;
}

.navbar-brand img{
  height:44px;
  transition:transform .3s ease;
}

.navbar-brand:hover img{
  transform:translateY(-1px);
}

/* NAV LINKS */
.nav-underline{
  position:relative;
  font-weight:500;
  color:#0f172a!important;
  padding:6px 2px;
}

.nav-underline::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:2px;
  background:#2f9fa9;
  transition:width .25s ease;
}

.nav-underline:hover::after,
.nav-underline.active::after{
  width:100%;
}

/* CTA BUTTONS */
.btn-outline-cta{
  border:1.5px solid #2f9fa9;
  color:#2f9fa9;
  border-radius:10px;
  padding:8px 18px;
  font-weight:500;
}

.btn-outline-cta:hover{
  background:#1f9393;
  color:#fff;
}

.btn-solid-cta{
  background:#0f172a;
  color:#fff;
  border-radius:10px;
  padding:9px 20px;
  font-weight:600;
}

.btn-solid-cta:hover{
  opacity:.9;
}

/* REMOVE BOOTSTRAP CARET */
.navbar .dropdown-toggle::after{
  display:none;
}

/* =====================================================
   SERVICES DROPDOWN
===================================================== */
.services-link{
  display:flex;
  align-items:center;
  gap:6px;
}

.caret-icon{
  font-size:12px;
  transition:transform .25s ease;
}

.nav-item.dropdown.show .caret-icon{
  transform:rotate(180deg);
}

.services-dropdown{
  margin-top:6px;
  min-width:360px;
  padding:12px 0;
  border-radius:14px;
  border:1px solid #e5eeee;
  box-shadow:0 20px 45px rgba(0,0,0,.15);
}

.services-dropdown .dropdown-item{
  padding:10px 20px;
  display:flex;
  gap:10px;
  font-size:.95rem;
  color:#111827;
}

.services-dropdown .dropdown-item::before{
  content:"»";
  color:#1f9c9c;
  font-weight:700;
}

.services-dropdown .dropdown-item:hover{
  background:#f4fbfb;
  color:#1f9c9c;
}

@media(min-width:992px){
  .navbar .dropdown:hover .dropdown-menu{
    display:block;
  }
}

/* =====================================================
   HERO / CAROUSEL
===================================================== */
.hero-banner{
  min-height:calc(100vh - 80px);
}

.hero-slide{
  min-height:calc(100vh - 80px);
  display:flex;
  align-items:center;
  color:#fff;
  position:relative;
  background-size:cover;
  background-position:center;
}

.hero-slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to right,
    var(--overlay-dark),
    var(--overlay-dark),
    var(--overlay-light)
  );
}

.hero-slide .container{
  position:relative;
  z-index:2;
}

.slide-1{ background-image:url("../images/hero-banner.png"); }
.slide-2{ background-image:url("../images/hero-banner-2.png"); }

.hero-content{
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(9px);
  border-radius:22px;
  padding:44px;
  max-width:700px;
  box-shadow:0 30px 65px rgba(0,0,0,.35);
}

/* =====================================================
   MAIN BUTTON
===================================================== */
.btn-main{
  background:linear-gradient(135deg,var(--secondary),var(--primary));
  color:#fff;
  border-radius:14px;
  padding:14px 36px;
  font-weight:600;
  box-shadow:0 12px 28px rgba(47,159,169,.35);
}

.btn-main:hover{
  transform:translateY(-2px);
  opacity:.96;
}

/* =====================================================
   PROCESS SECTION
===================================================== */
.process-card{
  background:rgba(255,255,255,.9);
  border-radius:18px;
  padding:45px 20px 30px;
  position:relative;
  height:100%;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.process-icon{
  width:58px;
  height:58px;
  margin:-75px auto 18px;
  border-radius:50%;
  background:linear-gradient(135deg,#1f6f78,#2f9fa9);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:700;
}

.process-line{
  position:absolute;
  top:55px;
  left:12%;
  width:76%;
  height:3px;
  background:linear-gradient(90deg,#1f6f78,#2f9fa9,#1f6f78);
  background-size:200% 100%;
  animation:lineFlow 3s linear infinite;
}

@keyframes lineFlow{
  from{background-position:0%;}
  to{background-position:200%;}
}

@media(max-width:991px){
  .process-line{ display:none; }
}

/* =====================================================
   WHO WE ARE
===================================================== */
.who-we-are{
  background:#faf9fd;
}

.who-we-are h2{
  font-size:2.6rem;
}

.brand-highlight{
  color:#1f6f78;
  font-weight:600;
}

.who-image{
  background:#fff;
  padding:12px;
  border-radius:24px;
  box-shadow:0 20px 50px rgba(0,0,0,.12);
}

.who-image img{
  width:100%;
  border-radius:18px;
}

/* =====================================================
   BENEFITS
===================================================== */
.benefit-card{
  background:#f4fbfb;
  border-radius:16px;
  padding:28px 24px;
  border:1px solid #e5eeee;
  transition:.3s ease;
}

.benefit-card:hover{
  transform:translateY(-6px);
  box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.benefit-icon{
  width:34px;
  height:34px;
  background:#1f9c9c;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  margin-bottom:14px;
}

/* =====================================================
   SERVICES
===================================================== */
.service-card{
  background:#f4fbfb;
  border-radius:16px;
  padding:28px;
  border:1px solid #e6f1f1;
  transition:.3s ease;
}

.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 45px rgba(0,0,0,.1);
}

.service-icon{
  width:42px;
  height:42px;
  background:#e6f4f4;
  color:#1f9c9c;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}

.service-link{
  color:#1f9c9c;
  font-weight:500;
  text-decoration:none;
}

.service-link:hover{
  text-decoration:underline;
}

/* =====================================================
   TESTIMONIALS
===================================================== */
.testimonial-card{
  background:#fff;
  border-radius:16px;
  padding:30px 26px;
  border:2px solid #1f9c9c;
  position:relative;
  box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.quote-icon{
  position:absolute;
  top:-22px;
  left:24px;
  width:48px;
  height:48px;
  background:#1f9c9c;
  color:#fff;
  border-radius:50%;
  font-size:32px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.stars{
  color:#ff7a59;
  font-size:18px;
  margin-bottom:12px;
}

.testimonial-footer{
  display:flex;
  gap:12px;
  border-top:1px solid #e5e7eb;
  padding-top:16px;
}

.testimonial-footer img{
  width:42px;
  height:42px;
  border-radius:50%;
}

.testimonial-dots{
  display:flex;
  justify-content:center;
  gap:14px;
}

.dot{
  width:14px;
  height:14px;
  background:#e5eeee;
  border-radius:50%;
}

.dot.active{
  background:#1f9c9c;
}

/* =====================================================
   FOOTER
===================================================== */
/* =====================================================
   FOOTER
===================================================== */
.footer-simple{
  background:#0f172a;
  color:#cbd5f5;
  padding:48px 0 24px;
  font-size:14px;
}

/* Logo */
.footer-logo{
  height:38px;
}

/* Section titles */
.footer-title{
  font-weight:600;
  color:#ffffff;
  margin-bottom:14px;
}

/* Links */
.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-links li{
  margin-bottom:8px;
}

.footer-links a,
.footer-simple a{
  color:#cbd5f5;
  text-decoration:none;
  transition:color .2s ease;
}

.footer-links a:hover,
.footer-simple a:hover{
  color:#8be3e9;
  text-decoration:underline;
}

/* Footer text */
.footer-simple p{
  color:#cbd5f5;
  line-height:1.6;
}

/* Bottom bar */
.footer-bottom{
  border-top:1px solid rgba(203,213,245,.15);
  padding-top:14px;
  margin-top:24px;
  color:#94a3b8;
  font-size:13px;
}

/* =====================================================
   FOOTER – MOBILE OPTIMIZATION
===================================================== */
@media(max-width:768px){
  .footer-simple{
    text-align:center;
  }

  .footer-simple .btn{
    width:100%;
  }

  .footer-links li{
    margin-bottom:10px;
  }

  .footer-logo{
    margin-bottom:12px;
  }
}
/* =====================================================
   MOBILE
===================================================== */
@media(max-width:768px){
  body{ padding-top:76px; }
  #topbar{ display:none; }

  .hero-content{
    padding:30px;
    margin:auto;
    text-align:center;
  }

  .navbar-collapse{
    background:#fff;
    margin-top:14px;
    padding:20px;
    border-radius:18px;
    box-shadow:0 25px 50px rgba(0,0,0,.12);
  }
}

/**************************
ABOUT US******************/
/* =====================================================
   ABOUT PAGE – HERO
===================================================== */

/* ABOUT HERO */
.about-hero{
  padding:90px 0 80px;
}

.page-subtitle{
  font-size:1.05rem;
  color:#374151;
  max-width:720px;
  margin:0 auto;
  line-height:1.6;
}

.title-underline{
  width:80px;
  height:4px;
  background:#1f9c9c;
  border-radius:10px;
}

/* VALUES ICON */
.value-icon{
  color:#1f6f78;
}

/* MOBILE */
@media(max-width:768px){
  .about-hero{
    padding:70px 0 60px;
  }
}