  :root{
    --ink:#1E1E1E;
    --steel:#292929;
    --line:#3D3D3D;
    --cyan:#17C3B2;
    --cyan-dim:#0E8C80;
    --amber:#F2A93B;
    --paper:#F5F7FA;
    --paper-alt:#EBEFF3;
    --slate:#48586A;
    --slate-dark:#22303F;
    --white:#FFFFFF;

    --font-display:'Space Grotesk', sans-serif;
    --font-body:'IBM Plex Sans', sans-serif;
    --font-mono:'IBM Plex Mono', monospace;
  }

  *{box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    font-family:var(--font-body);
    color:var(--slate-dark);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,.display-font{
    font-family:var(--font-display);
    letter-spacing:-0.01em;
  }

  .mono{
    font-family:var(--font-mono);
    letter-spacing:0.02em;
  }

  .eyebrow{
    font-family:var(--font-mono);
    font-size:0.72rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--cyan-dim);
    display:inline-flex;
    align-items:center;
    gap:.5rem;
  }
  .eyebrow::before{
    content:"";
    width:8px;height:8px;
    border-radius:50%;
    background:var(--cyan);
    box-shadow:0 0 0 3px rgba(23,195,178,.18);
  }
  .eyebrow.on-dark{ color:#8FE3D9; }

  a{ text-decoration:none; }

  /* ---------- NAVBAR ---------- */
  .navbar-nano{
    background:rgba(30,30,30,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
    padding-top:.85rem;
    padding-bottom:.85rem;
  }
  .brand-mark{
    width:36px;height:36px;
    display:inline-flex;align-items:center;justify-content:center;
  }
  .brand-text{
    font-family:var(--font-display);
    font-weight:700;
    color:var(--white);
    font-size:1.05rem;
    line-height:1.05;
  }
  .brand-sub{
    font-family:var(--font-mono);
    font-size:.62rem;
    letter-spacing:.16em;
    color:#7C93A8;
  }
  .navbar-nano .nav-link{
    color:#C7D4E0;
    font-weight:500;
    font-size:.92rem;
    padding:.5rem 1rem !important;
    transition:color .2s ease;
  }
  .navbar-nano .nav-link:hover{ color:var(--cyan); }
  .btn-nano-primary{
    background:var(--cyan);
    border:1px solid var(--cyan);
    color:var(--ink);
    font-weight:600;
    font-size:.9rem;
    padding:.55rem 1.3rem;
    border-radius:2px;
    transition:all .2s ease;
  }
  .btn-nano-primary:hover{
    background:transparent;
    color:var(--cyan);
  }
  .btn-nano-outline{
    background:transparent;
    border:1px solid var(--line);
    color:#E4EAF0;
    font-weight:500;
    font-size:.9rem;
    padding:.55rem 1.3rem;
    border-radius:2px;
    transition:all .2s ease;
  }
  .btn-nano-outline:hover{
    border-color:var(--cyan);
    color:var(--cyan);
  }

  /* ---------- HERO ---------- */
  .hero{
    background:var(--ink);
    position:relative;
    overflow:hidden;
    padding-top:7.5rem;
    padding-bottom:5rem;
    border-bottom:1px solid var(--line);
  }
  .hero-grid-bg{
    position:absolute;inset:0;
    background-image:
      linear-gradient(var(--line) 1px, transparent 1px),
      linear-gradient(90deg, var(--line) 1px, transparent 1px);
    background-size:64px 64px;
    opacity:.25;
    mask-image:radial-gradient(ellipse 80% 60% at 30% 20%, black 40%, transparent 90%);
  }
  .hero h1{
    color:var(--white);
    font-size:clamp(2.1rem, 4vw, 3.2rem);
    font-weight:700;
    line-height:1.12;
  }
  .hero h1 .accent{ color:var(--cyan); }
  .hero p.lead-copy{
    color:#AEC0D2;
    font-size:1.08rem;
    max-width:520px;
    line-height:1.65;
  }

  /* Status panel (signature element) */
  .status-panel{
    background:var(--steel);
    border:1px solid var(--line);
    border-radius:4px;
    padding:1.4rem 1.4rem 1rem;
    box-shadow:0 20px 60px rgba(0,0,0,.35);
  }
  .status-panel-head{
    display:flex;justify-content:space-between;align-items:center;
    border-bottom:1px solid var(--line);
    padding-bottom:.9rem;
    margin-bottom:.9rem;
  }
  .status-panel-title{
    font-family:var(--font-mono);
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#8FA3B8;
  }
  .status-dot-group{ display:flex; gap:5px; }
  .status-dot{ width:8px;height:8px;border-radius:50%; background:var(--line); }
  .status-dot.live{ background:var(--cyan); box-shadow:0 0 0 3px rgba(23,195,178,.15); }

  .status-row{
    display:flex;justify-content:space-between;align-items:center;
    padding:.6rem 0;
    border-bottom:1px dashed rgba(255,255,255,.06);
    font-size:.88rem;
  }
  .status-row:last-child{ border-bottom:none; }
  .status-row .label{ color:#D6E0EA; font-weight:500; }
  .status-row .value{
    font-family:var(--font-mono);
    font-size:.74rem;
    letter-spacing:.06em;
    color:var(--cyan);
    display:inline-flex;align-items:center;gap:.4rem;
  }
  .pulse-dot{
    width:6px;height:6px;border-radius:50%;
    background:var(--cyan);
    animation:pulse 1.8s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{ opacity:1; transform:scale(1); }
    50%{ opacity:.4; transform:scale(.75); }
  }
  @media (prefers-reduced-motion: reduce){
    .pulse-dot{ animation:none; }
    html{ scroll-behavior:auto; }
  }
  .uptime-footer{
    font-family:var(--font-mono);
    font-size:.7rem;
    color:#6F8598;
    padding-top:.8rem;
    margin-top:.3rem;
    display:flex; justify-content:space-between;
  }
  .uptime-footer .num{ color:var(--amber); font-weight:500; }

  /* ---------- STATS STRIP ---------- */
  .stats-strip{
    background:var(--white);
    border-bottom:1px solid #E1E7ED;
  }
  .stat-item{
    padding:1.6rem 1rem;
    border-right:1px solid #E1E7ED;
  }
  .stat-item:last-child{ border-right:none; }
  .stat-num{
    font-family:var(--font-mono);
    font-weight:500;
    font-size:1.7rem;
    color:var(--ink);
  }
  .stat-label{
    font-size:.78rem;
    color:var(--slate);
    letter-spacing:.02em;
  }

  /* ---------- SECTION HEADS ---------- */
  .section-pad{ padding:5.5rem 0; }
  .section-head h2{
    font-size:clamp(1.6rem, 2.6vw, 2.2rem);
    font-weight:700;
    color:var(--ink);
    margin-top:.6rem;
  }
  .section-head p{
    color:var(--slate);
    max-width:560px;
    font-size:1rem;
  }

  /* ---------- SERVICE MODULES ---------- */
  .module-card{
    background:var(--white);
    border:1px solid #E1E7ED;
    border-radius:4px;
    padding:1.9rem 1.7rem;
    height:100%;
    position:relative;
    transition:border-color .2s ease, transform .2s ease;
  }
  .module-card:hover{
    border-color:var(--cyan);
    transform:translateY(-3px);
  }
  .module-code{
    font-family:var(--font-mono);
    font-size:.68rem;
    letter-spacing:.12em;
    color:#9AACBC;
    position:absolute;
    top:1.5rem; right:1.5rem;
  }
  .module-icon{
    width:46px;height:46px;
    border-radius:4px;
    background:var(--paper-alt);
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;
    color:var(--cyan-dim);
    margin-bottom:1.2rem;
  }
  .module-card h3{
    font-size:1.08rem;
    font-weight:600;
    color:var(--ink);
    margin-bottom:.55rem;
  }
  .module-card p{
    color:var(--slate);
    font-size:.9rem;
    line-height:1.6;
    margin-bottom:0;
  }

  /* ---------- WHY US ---------- */
  .why-section{ background:var(--paper-alt); }
  .why-item{ display:flex; gap:1rem; align-items:flex-start; }
  .why-icon{
    width:42px;height:42px;flex:0 0 42px;
    border-radius:50%;
    background:var(--ink);
    color:var(--cyan);
    display:flex;align-items:center;justify-content:center;
    font-size:1.1rem;
  }
  .why-item h3{
    font-size:1rem; font-weight:600; color:var(--ink); margin-bottom:.3rem;
  }
  .why-item p{ color:var(--slate); font-size:.9rem; margin-bottom:0; line-height:1.6;}

  /* ---------- CTA ---------- */
  .cta-section{
    background:var(--ink);
    position:relative;
    overflow:hidden;
    padding:4.5rem 0;
  }
  .cta-section h2{ color:var(--white); font-weight:700; }
  .cta-section p{ color:#AEC0D2; }

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--steel);
    border-top:1px solid var(--line);
    color:#B7C5D3;
    padding:3.5rem 0 1.5rem;
  }
  footer h5{
    font-family:var(--font-display);
    color:var(--white);
    font-size:1rem;
    margin-bottom:1rem;
  }
  footer a{ color:#B7C5D3; font-size:.9rem; }
  footer a:hover{ color:var(--cyan); }
  footer .foot-bottom{
    border-top:1px solid var(--line);
    margin-top:2.5rem;
    padding-top:1.5rem;
    font-size:.8rem;
    color:#6F8598;
  }
  .foot-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.55rem;}

  @media (max-width: 767px){
    .stat-item{ border-right:none; border-bottom:1px solid #E1E7ED; }
    .stat-item:last-child{ border-bottom:none; }
  }


 /* ---------- CLIENTS ---------- */
.clients-section{
  background:var(--paper-alt);
  padding:5.5rem 0;
  border-top:1px solid #E1E7ED;
  border-bottom:1px solid #E1E7ED;
}
.clients-section .section-head{
  max-width:620px;
}
.clients-section .section-head h2{
  color:var(--ink);
}
.clients-section .section-head p{
  color:var(--slate);
}

.clients-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:1px;
  background:#E1E7ED;
  border:1px solid #E1E7ED;
  border-radius:4px;
  overflow:hidden;
}

.client-logo{
  background:var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;                 /* 🔻 antes 1.8rem 1.2rem */
  min-height:110px;             /* 🔻 antes 130px */
  transition:background .3s ease;
}

.client-logo img{
  max-width:200px;              /* 🔺 antes 140px */
  max-height:85px;              /* 🔺 antes 60px */
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(100%);
  opacity:.55;
  transition:filter .35s ease, opacity .35s ease, transform .35s ease;
}

.client-logo:hover{
  background:#FAFBFC;
}
.client-logo:hover img{
  filter:grayscale(0%);
  opacity:1;
  transform:scale(1.08);        /* 🔺 antes 1.05 */
}

/* Responsive */
@media (max-width: 991px){
  .clients-grid{ grid-template-columns:repeat(4, 1fr); }
}
@media (max-width: 767px){
  .clients-grid{ grid-template-columns:repeat(3, 1fr); }
  .client-logo{ padding:.85rem; min-height:95px; }
  .client-logo img{ max-width:150px; max-height:70px; }
}
@media (max-width: 480px){
  .clients-grid{ grid-template-columns:repeat(2, 1fr); }
  .client-logo{ padding:.75rem; min-height:85px; }
  .client-logo img{ max-width:130px; max-height:60px; }
}