*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  color:#061f3d;
  background:#fff;
  line-height:1.6
}

.container{
  width:min(1220px,92%);
  margin:0 auto
}

.topbar{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid #dfe7ef
}

.nav{
  height:175px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px
}

.brand img{
  height:150px;
  width:auto;
  display:block;
  object-fit:contain
}

nav{
  display:flex;
  align-items:center;
  gap:34px
}

nav a{
  color:#061f3d;
  text-decoration:none;
  font-weight:800;
  font-size:16px
}

.contact-btn{
  padding:14px 25px;
  border-radius:999px;
  color:#fff!important;
  background:#061f3d;
  box-shadow:0 10px 28px rgba(6,31,61,.12)
}

.hero{
  position:relative;
  min-height:760px;
  background:#04162a url("assets/hero.png") center center/cover no-repeat;
  overflow:hidden
}

.overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(2,13,27,.98) 0%,
    rgba(2,13,27,.90) 30%,
    rgba(2,13,27,.50) 50%,
    rgba(2,13,27,.06) 78%,
    rgba(2,13,27,0) 100%
  )
}

.hero-content{
  position:relative;
  z-index:2;
  min-height:760px;
  display:flex;
  align-items:center
}

.hero-text{
  width:min(650px,100%);
  padding:48px 0
}

.eyebrow{
  display:inline-block;
  color:#1f9bff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:20px
}

.eyebrow.dark{
  color:#1178d4
}

h1,h2,h3,p{
  margin-top:0
}

h1{
  color:white;
  font-size:clamp(48px,6vw,78px);
  line-height:1.04;
  letter-spacing:-.055em;
  margin-bottom:30px;
  text-shadow:0 14px 40px rgba(0,0,0,.28)
}

h2{
  font-size:clamp(32px,4vw,48px);
  line-height:1.12;
  letter-spacing:-.035em;
  margin-bottom:18px
}

h3{
  font-size:22px;
  margin-bottom:10px
}

p{
  color:#4b5870;
  font-size:18px
}

.hero-text p{
  color:rgba(255,255,255,.86);
  max-width:620px;
  font-size:21px;
  line-height:1.65
}

.actions{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:36px
}

.primary,.secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  font-size:17px
}

.primary{
  padding:16px 30px;
  color:white;
  background:linear-gradient(135deg,#0864bd,#2d9bff);
  box-shadow:0 18px 36px rgba(31,155,255,.22)
}

.secondary{
  padding:15px 29px;
  color:white;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.03)
}

.stats{
  padding:26px 0;
  border-bottom:1px solid #dfe7ef;
  background:white
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}

.stats-grid div{
  padding:20px;
  border-radius:20px;
  background:#f5f8fb
}

.stats strong{
  display:block;
  font-size:30px;
  line-height:1;
  color:#061f3d
}

.stats span{
  color:#4b5870;
  font-weight:800;
  font-size:14px
}

.section{
  padding:94px 0
}

.section.alt{
  background:#f5f8fb;
  border-top:1px solid #dfe7ef;
  border-bottom:1px solid #dfe7ef
}

.section-title{
  max-width:780px;
  margin-bottom:40px
}

.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px
}

.cards article{
  background:white;
  border:1px solid #dfe7ef;
  border-radius:26px;
  padding:30px;
  box-shadow:0 18px 45px rgba(6,31,61,.065)
}

.cards p{
  font-size:16px;
  margin-bottom:0
}

.split{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:58px;
  align-items:start
}

.split ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:14px
}

.split li{
  padding:18px 22px;
  background:white;
  border:1px solid #dfe7ef;
  border-radius:18px;
  font-weight:750;
  color:#233047
}

.narrow{
  max-width:860px
}

.cta{
  padding:82px 0;
  background:linear-gradient(135deg,#061f3d,#0b315f);
  color:white
}

.cta h2,.cta p{
  color:white
}

.cta .eyebrow{
  color:#85c7ff
}

.cta-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:34px;
  align-items:center
}

.contact-card{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  border-radius:26px;
  padding:30px;
  display:grid;
  gap:10px
}

.contact-card a{
  color:white;
  font-size:23px;
  font-weight:900;
  text-decoration:none
}

.contact-card span{
  color:#c9d8e8
}

footer{
  padding:24px 0;
  background:#031326;
  color:#c8d5e2
}

.footer{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-size:14px
}

@media(max-width:950px){
  .nav{
    height:auto;
    padding:14px 0
  }

  .brand img{
    height:110px;
    max-width:650px
  }

  nav{
    display:none
  }

  .cards,.split,.cta-grid{
    grid-template-columns:1fr
  }

  .stats-grid{
    grid-template-columns:repeat(2,1fr)
  }
}

@media(max-width:560px){
  .brand img{
    height:80px;
    max-width:420px
  }

  .stats-grid{
    grid-template-columns:1fr
  }

  .primary,.secondary{
    width:100%
  }
}

.datacenters{
  background:#ffffff;
  border-top:1px solid #dfe7ef;
}

.center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

.dc-logos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:34px;
  align-items:center;
  justify-items:center;
  margin-top:40px;
}

.dc-logos img{
  width:100%;
  max-width:170px;
  max-height:58px;
  height:auto;
  object-fit:contain;
  filter:grayscale(100%);
  opacity:.82;
  transition:.25s ease;
}

.dc-logos img:hover{
  filter:none;
  opacity:1;
  transform:scale(1.04);
}

@media(max-width:768px){
  .dc-logos{
    grid-template-columns:repeat(2,1fr);
    gap:26px 20px;
  }

  .dc-logos img{
    max-width:140px;
    max-height:46px;
  }
}

@media(max-width:480px){
  .dc-logos{
    grid-template-columns:1fr;
    gap:22px;
    margin-top:28px;
  }

  .dc-logos img{
    max-width:180px;
    max-height:50px;
  }

  .dc-logos img[alt="Equinix"]{
    max-width:220px;
    max-height:38px;
  }

  .dc-logos img[alt="HostDime"]{
    max-width:190px;
  }
}

.sobre p{
  font-size:20px;
  line-height:1.75;
  margin-bottom:0;
}
