:root{
  --brand:#69c2c8;
  --brand-dark:#3da1a7;
  --ink:#0f172a;
  --muted:#64748b;
  --bg:#ffffff;
  --bg-alt:#f6f8fb;
  --radius:1.25rem;
}

html{ scroll-behavior:smooth; }
body{
  color:var(--ink);
  background:var(--bg);
}

.section{
  padding: 5rem 0;
}

.section-alt{
  background: var(--bg-alt);
}

.section-title{
  font-weight: 800;
  letter-spacing: -0.02em;
}

.text-white-75{ color: rgba(255,255,255,.80) !important; }
.border-white-25{ border-color: rgba(255,255,255,.25) !important; }

.nav-glass{
  backdrop-filter: blur(10px);
  background: rgba(15, 23, 42, .75);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.navbar .nav-link{
  color: rgba(255,255,255,.85);
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color: #fff;
}
.navbar .nav-link.active{
  color:#fff;
  text-decoration: underline;
  text-underline-offset: .35em;
  text-decoration-thickness: 2px;
}

.btn-brand{
  background: var(--brand);
  border-color: var(--brand);
  color: #072a2c;
  font-weight: 700;
}
.btn-brand:hover,
.btn-brand:focus{
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color:#fff;
}

.link-brand{ color: var(--brand-dark); font-weight: 700; }
.link-brand:hover{ color: var(--brand); }

.hero{
  min-height: calc(100vh - 70px);
  background: url('../images/bg.jpg') center/cover no-repeat;
  position: relative;
}
.hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 500px at 30% 20%, rgba(105,194,200,.25), transparent 60%),
    linear-gradient(135deg, rgba(2,6,23,.92), rgba(2,6,23,.55));
}
.hero-card{
  border-radius: var(--radius);
}
.trust-strip{ margin-bottom: 0; }
.trust-item{
  display:flex; gap:.75rem; align-items:center;
  padding: 1rem 1rem;
  border-radius: var(--radius);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.trust-item i{
  font-size: 1.5rem;
  color: rgba(255,255,255,.9);
}

.bg-soft{
  background: rgba(105,194,200,.12);
  border: 1px solid rgba(105,194,200,.20);
}

.info-card{
  display:flex; gap:.75rem; align-items:center;
  padding: 1rem 1rem;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid rgba(2,6,23,.08);
  box-shadow: 0 10px 30px rgba(2,6,23,.05);
}
.info-card-icon{
  width: 44px; height: 44px;
  display:grid; place-items:center;
  border-radius: 999px;
  background: rgba(105,194,200,.18);
  color: var(--brand-dark);
  font-size: 1.2rem;
}

.collage{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .75rem;
}
.collage-item{
  border-radius: var(--radius);
  min-height: 180px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 20px 40px rgba(2,6,23,.12);
  border: 1px solid rgba(2,6,23,.08);
}
@media (min-width: 992px){
  .collage-item{ min-height: 220px; }
}

.service-card{
  border-radius: var(--radius);
  overflow:hidden;
  transition: transform .15s ease, box-shadow .15s ease;
}
.service-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(2,6,23,.12) !important;
}
.service-thumb{
  background-size: cover;
  background-position: center;
}

.gallery-item{
  border:0;
  padding:0;
  background: transparent;
  width:100%;
}
.gallery-item img{
  transition: transform .15s ease, filter .15s ease;
}
.gallery-item:hover img{
  transform: scale(1.02);
  filter: saturate(1.05);
}

.team-card{
  border-radius: var(--radius);
  overflow:hidden;
}
.team-thumb{
  background-size: cover;
  background-position: center;
}

.contact-pill{
  display:flex;
  gap:.75rem;
  align-items:center;
  padding: .85rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(2,6,23,.10);
  text-decoration:none;
  color: var(--ink);
  background:#fff;
}
.contact-pill:hover{
  border-color: rgba(105,194,200,.55);
  box-shadow: 0 12px 24px rgba(2,6,23,.08);
}
.contact-pill i{
  color: var(--brand-dark);
  font-size: 1.15rem;
}

.footer{
  background: #0b1220;
  color: #fff;
}
.footer .text-muted{ color: rgba(255,255,255,.65) !important; }
.footer a.text-muted:hover{ color: #fff !important; }

.whatsapp-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1050;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  background: #25D366;
  color: #fff;
  text-decoration:none;
  box-shadow: 0 18px 40px rgba(2,6,23,.25);
}
.whatsapp-float:hover{
  filter: brightness(.95);
  color:#fff;
}
.whatsapp-float i{ font-size: 1.6rem; }
