
:root{
--black:#030405;--black2:#080c0f;--panel:#0d1216;--line:#1b2b32;
--cyan:#00b9ee;--white:#f5f7f8;--muted:#a9b4b8;--green:#25d366;
--display:'Space Grotesk',sans-serif;--body:'Inter',sans-serif;--mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:var(--body);line-height:1.5}
a{text-decoration:none;color:inherit} img{display:block;max-width:100%}
.wrap{width:min(1370px,calc(100% - 72px));margin:auto}
h1,h2,h3{font-family:var(--display);line-height:1.05;letter-spacing:-.035em}
h1{font-size:clamp(3.2rem,5.2vw,5.7rem)}h2{font-size:clamp(2rem,3.1vw,3.4rem)}
p{color:var(--muted)}
.eyebrow{font:600 .72rem var(--mono);letter-spacing:.12em;color:var(--cyan);text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:15px;border:1px solid var(--cyan);padding:14px 21px;color:var(--cyan);font:600 .7rem var(--mono);letter-spacing:.04em;text-transform:uppercase;transition:.25s}
.btn:hover{background:var(--cyan);color:#001016}
header{height:92px;background:#020303;border-bottom:1px solid #17232a;position:sticky;top:0;z-index:100}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between}
.logo{width:235px;height:78px;object-fit:contain;object-position:left center}
.links{display:flex;align-items:center;gap:43px}
.links a{font-size:.78rem;font-weight:600;color:#eef2f3;position:relative}
.links a:not(.ticket):after{content:"";position:absolute;height:2px;background:var(--cyan);left:0;right:100%;bottom:-10px;transition:.2s}
.links a:hover:after,.links a.active:after{right:0}
.ticket{border:1px solid var(--cyan);padding:14px 22px;color:var(--cyan)!important;font:600 .7rem var(--mono)!important;letter-spacing:.04em}
.ticket:hover{background:var(--cyan);color:#001016!important}
.menu{display:none;background:none;border:0;color:white;font-size:1.6rem}

/* Hero faithful to supplied mockup */
.hero{height:520px;position:relative;overflow:hidden;background:#030608}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(3,6,8,.99) 0%,rgba(3,6,8,.97) 34%,rgba(3,6,8,.35) 67%,rgba(3,6,8,.12) 100%),url("server-room-home.png");background-size:cover;background-position:center center}
.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.hero-copy{width:570px;margin-top:-8px}
.hero-copy .eyebrow{display:block;margin-bottom:26px}
.hero-copy p{font-size:1rem;color:#e0e6e8;max-width:540px;margin:24px 0 28px}
.hero h1 span{color:var(--cyan)}


/* service highlight strip */
.features{background:#080c0f;border-top:1px solid #1d2a30;border-bottom:1px solid #1d2a30}
.feature-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.feature{min-height:150px;padding:25px 26px 22px;border-left:1px solid #222f35}
.feature:first-child{border-left:0}
.service-icon{width:47px;height:47px;color:#00b9ee;margin-bottom:12px}
.service-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.feature h3{font:600 1rem var(--display);line-height:1.1}
.feature p{font-size:.72rem;line-height:1.55;margin-top:8px;color:#aeb9bd}
@media(max-width:1050px){.feature-grid{grid-template-columns:repeat(2,1fr)}.feature:nth-child(3){border-left:0}}
@media(max-width:620px){.feature-grid{grid-template-columns:1fr}.feature{border-left:0;border-top:1px solid #222f35}.feature:first-child{border-top:0}}

/* about */
.about{padding:66px 0 32px;border-bottom:1px solid #1d2b31}
.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:75px;align-items:center}
.about h2{margin:12px 0 18px}
.about h2:after{content:"";display:block;width:40px;height:3px;background:var(--cyan);margin-top:18px}
.about-copy p{font-size:.85rem;max-width:590px;color:#d3dadd}
.about-video{height:265px;position:relative;overflow:hidden;border:1px solid #22363f}
.about-video img{width:100%;height:100%;object-fit:cover;filter:brightness(.65)}
.about-video:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 60%)}
.play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:1.7rem;padding-left:4px}
.watch{position:absolute;z-index:2;bottom:23px;left:50%;transform:translateX(-50%);font:500 .67rem var(--mono);letter-spacing:.18em;white-space:nowrap}

/* partners */
.partners{padding:0 0 32px}
.partner-title{text-align:center;color:var(--cyan);font:600 .7rem var(--mono);letter-spacing:.16em;margin:0 0 22px}
.partner-grid{display:grid;grid-template-columns:repeat(8,1fr);align-items:center;gap:20px}
.partner{text-align:center;color:#f4f6f7;font:600 1.05rem var(--display);white-space:nowrap;opacity:.95}

/* inner sections */
.section{padding:78px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}
.section-head p{max-width:470px;font-size:.86rem}
.services{background:#070a0c}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #213037;border-left:1px solid #213037}
.service{min-height:220px;padding:28px;border-right:1px solid #213037;border-bottom:1px solid #213037;transition:.25s}
.service:hover{background:#0c1418;border-color:#0b7497}
.service-num{color:var(--cyan);font:500 .64rem var(--mono)}
.service h3{font-size:1.45rem;margin:35px 0 12px}.service p{font-size:.78rem}.arrow{color:var(--cyan);margin-top:17px}

/* CTA */
.cta{padding:58px 0;background:#07131a;border-top:1px solid #14323e;border-bottom:1px solid #14323e}
.cta-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta p{margin-top:8px}

/* contact */
.contact{background:#f3f6f7;color:#17252a;padding:80px 0}.contact p{color:#5d7076}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{color:#17252a}
.info{display:grid;gap:18px;margin-top:28px}.info b{display:block;font-size:.78rem}.info span{font-size:.76rem;color:#64777d}
.map{height:270px;background:#dfe7e9;border:1px solid #c6d2d6;display:grid;place-items:center;color:#708187;font:600 .64rem var(--mono);letter-spacing:.12em}

/* page hero */
.page-hero{padding:76px 0;background:linear-gradient(110deg,#030506,#07141b);border-bottom:1px solid #172930}
.page-hero h1{margin-top:12px}.page-hero p{max-width:680px;margin-top:20px}.crumb{margin-top:25px;color:#61767d;font:500 .62rem var(--mono)}

/* WhatsApp */
.whatsapp{position:fixed;right:25px;bottom:20px;z-index:300;width:63px;height:63px;border-radius:50%;background:var(--green);display:grid;place-items:center;color:white;box-shadow:0 12px 30px rgba(0,0,0,.3);transition:.25s}
.whatsapp:hover{transform:translateY(-4px) scale(1.04)}.whatsapp svg{width:33px;height:33px;fill:currentColor}

/* footer */
footer{border-top:1px solid #17242a;background:#030405;padding:28px 0}
.footer{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer img{width:175px;height:52px;object-fit:contain;object-position:left center}
.footer-links{display:flex;gap:18px;color:#84979d;font:500 .62rem var(--mono)}.footer-copy{color:#667980;font-size:.62rem}

@media(max-width:1050px){
 .links{display:none}.menu{display:block}.links.open{display:flex;position:absolute;top:92px;left:20px;right:20px;padding:18px;flex-direction:column;align-items:stretch;background:#030405;border:1px solid #1c3037;gap:18px}
 .feature-grid{grid-template-columns:repeat(2,1fr)}.feature:nth-child(3){border-left:0}
 .about-grid,.contact-grid{grid-template-columns:1fr}.partner-grid{grid-template-columns:repeat(4,1fr)}
 .service-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
 .wrap{width:calc(100% - 32px)}header{height:78px}.nav{height:78px}.logo{width:190px;height:66px}
 .links.open{top:78px}.hero{height:650px}.hero-content{align-items:flex-end;padding-bottom:55px}.hero-copy{width:100%}.hero h1{font-size:2.8rem}
 .feature-grid,.service-grid,.partner-grid{grid-template-columns:1fr}.feature{border-left:0;border-top:1px solid #222e34}.feature:first-child{border-top:0}
 .section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:18px}
 .cta-row,.footer{display:flex;flex-direction:column;align-items:flex-start}.contact-grid{gap:35px}.whatsapp{right:17px;bottom:17px}
}

/* Empresas que confiam */
.clients{padding:70px 0 82px;background:#070a0c;border-top:1px solid #17272e}
.clients .partner-title{margin-bottom:30px}
.client-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.client{height:105px;border:1px solid #1b2d34;background:#0b1115;display:grid;place-items:center;padding:20px;color:#dfe6e8;font:600 .92rem var(--display);letter-spacing:-.01em;transition:.25s;text-align:center}
.client:hover{border-color:var(--cyan);background:#0d171c;transform:translateY(-2px)}
.client small{display:block;color:#6e858c;font:500 .55rem var(--mono);letter-spacing:.12em;margin-top:5px}
@media(max-width:1050px){.client-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.client-grid{grid-template-columns:repeat(2,1fr)}}

.client img{max-width:100%;max-height:68px;width:auto;height:auto;object-fit:contain}

/* V13 — Parceiros e Clientes no padrão do mockup */
.partner-showcase{
  padding:72px 0 58px;
  background:#050709;
  border-bottom:1px solid #16262d;
}
.partner-head,.client-head{margin-bottom:34px}
.partner-logo-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.partner-card{
  height:120px;
  border:1px solid #27353b;
  border-radius:8px;
  background:linear-gradient(145deg,#0a0f13,#070a0d);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  overflow:hidden;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.02);
  transition:.25s;
}
.partner-card:after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:-1px;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:.8;
  filter:blur(1px);
}
.partner-card:hover{
  border-color:#1a9fc8;
  transform:translateY(-2px);
}
.partner-card strong{font-family:var(--display);letter-spacing:-.04em}
.partner-card.microsoft{font-size:1.45rem;color:#f4f6f7}
.ms-mark{display:grid;grid-template-columns:repeat(2,14px);gap:2px}
.ms-mark i:nth-child(1){background:#f25022}.ms-mark i:nth-child(2){background:#7fba00}
.ms-mark i:nth-child(3){background:#00a4ef}.ms-mark i:nth-child(4){background:#ffb900}
.ms-mark i{width:14px;height:14px}
.partner-card.dell{color:#1ca9ed;font-size:1.7rem}
.partner-card.dell span{color:#dce3e6;font-size:.95rem;align-self:flex-end;margin-bottom:29px;margin-left:-7px;font-weight:400}
.partner-card.intelbras{color:#36b84a;font-size:1.8rem}
.partner-card.google{font-size:1.75rem;color:#f4f6f7}
.partner-card.google span,.partner-card.gsuite span{color:#4285f4}
.partner-card.gsuite{font-size:1.55rem;color:#f4f6f7}
.partner-card.draytek{color:#e32b27;font-size:1.8rem;font-style:italic}
.partner-card.bitdefender{color:#f4f6f7;font-size:1.45rem}
.partner-card.unifi{color:#f4f6f7;font-size:1.5rem}
.partner-card.unifi b{font-size:2rem;color:#fff}

.clients{
  padding:64px 0 82px;
  background:#050709;
  border-top:0;
}
.client-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.client{
  height:112px;
  border:1px solid #27353b;
  border-radius:8px;
  background:linear-gradient(145deg,#0a0f13,#070a0d);
  display:grid;
  place-items:center;
  padding:17px;
  position:relative;
  overflow:hidden;
  transition:.25s;
}
.client:after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:.65;
}
.client:hover{border-color:#1a9fc8;transform:translateY(-2px)}
.client img{
  max-width:94%;
  max-height:72px;
  width:auto;
  height:auto;
  object-fit:contain;
}
/* Preserve client brand colors exactly as supplied.
   TransLux and PragSystem therefore remain colored rather than being
   forced into the monochrome partner treatment. */
@media(max-width:1050px){
  .partner-logo-grid{grid-template-columns:repeat(2,1fr)}
  .client-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
  .partner-logo-grid,.client-grid{grid-template-columns:1fr}
}

/* Parceiros — logos visuais conforme referência enviada */
.partner-card img{
  display:block;
  width:auto;
  max-width:82%;
  height:auto;
  max-height:62px;
  object-fit:contain;
  filter:none;
}
.partner-card{padding:14px 22px}

/* V15 — composição aprovada pelo cliente */
.approved-layout{
  padding-top:34px;
  padding-bottom:20px;
}
.approved-layout .wrap{
  width:min(1290px,calc(100% - 100px));
}
.approved-layout .partner-head{
  margin-bottom:18px;
}
.approved-layout .partner-head h2,
.approved-layout .client-head h2{
  letter-spacing:-.035em;
}
.approved-layout .partner-logo-grid{
  gap:10px 12px;
}
.approved-layout .partner-card{
  height:82px;
  border-radius:5px;
  padding:8px 18px;
}
.approved-layout .partner-card:after{
  height:2px;
  left:18%;
  right:18%;
}
.approved-layout + .clients{
  padding-top:18px;
}
.clients .wrap{
  width:min(1290px,calc(100% - 100px));
}
.client-head{
  padding-top:0;
  margin-bottom:17px;
  border-top:1px solid #18252b;
  padding-top:17px;
}
.client-grid{
  gap:9px;
}
.client{
  height:68px;
  border-radius:5px;
  padding:9px 13px;
}
.client:after{
  height:1px;
  left:20%;
  right:20%;
}
.client img{
  max-height:49px;
  max-width:92%;
}
@media(max-width:1050px){
  .approved-layout .wrap,.clients .wrap{width:calc(100% - 40px)}
  .approved-layout .partner-card{height:92px}
  .client{height:82px}
}
@media(max-width:620px){
  .approved-layout .wrap,.clients .wrap{width:calc(100% - 32px)}
  .approved-layout .partner-logo-grid{gap:10px}
  .approved-layout .partner-card{height:100px}
  .client{height:100px}
}

/* =========================================================
   PARCEIROS — COMPOSIÇÃO FINAL APROVADA
   Estrutura: 4x2 parceiros + divisor + 5x3 clientes.
   ========================================================= */
.partners-page{
  background:#050709;
  color:#f5f7f8;
}
.partners-wrap{
  width:min(1290px, calc(100% - 100px));
  margin:0 auto;
}
.partners-top{
  padding:34px 0 17px;
}
.partners-intro{
  display:grid;
  grid-template-columns:1fr;
  margin-bottom:14px;
}
.partners-intro .eyebrow{
  display:block;
  margin-bottom:5px;
}
.partners-intro h1{
  font-size:clamp(2.2rem,3.1vw,3.1rem);
  margin:0;
}
.partners-intro p{
  font-size:.72rem;
  margin-top:6px;
  color:#c1c9cc;
}
.partners-logo-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px 12px;
}
.partners-logo-card{
  height:82px;
  border:1px solid #27333a;
  border-radius:5px;
  background:#080c0f;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.partners-logo-card::after{
  content:"";
  position:absolute;
  left:22%;
  right:22%;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,transparent,#00b9ee,transparent);
  box-shadow:0 0 7px rgba(0,185,238,.65);
}
.partners-logo-card img{
  display:block;
  width:auto;
  max-width:76%;
  height:auto;
  max-height:56px;
  object-fit:contain;
}

.clients-clean{
  padding:0 0 38px;
}
.clients-intro{
  border-top:1px solid #18252b;
  padding:16px 0 12px;
}
.clients-intro .eyebrow{
  display:block;
  margin-bottom:4px;
  font-size:.61rem;
}
.clients-intro h2{
  font-size:clamp(1.55rem,2.1vw,2.15rem);
  margin:0;
}
.clients-logo-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.client-clean{
  height:68px;
  border:1px solid #27333a;
  border-radius:5px;
  background:#080c0f;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  overflow:hidden;
  position:relative;
}
.client-clean::after{
  content:"";
  position:absolute;
  left:26%;
  right:26%;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,#00b9ee,transparent);
  opacity:.55;
}
.client-clean img{
  display:block;
  width:auto;
  max-width:92%;
  max-height:50px;
  object-fit:contain;
}

/* Preserve original customer brand colors. */
.client-clean img[src*="twister-colors"],
.client-clean img[src*="items-lux"],
.client-clean img[src*="pragsystem"]{
  filter:none;
}

@media(max-width:1050px){
  .partners-wrap{width:calc(100% - 40px)}
  .partners-logo-grid{grid-template-columns:repeat(2,1fr)}
  .clients-logo-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
  .partners-wrap{width:calc(100% - 32px)}
  .partners-logo-grid,.clients-logo-grid{grid-template-columns:1fr}
  .partners-logo-card{height:92px}
  .client-clean{height:92px}
}

/* Parceiros em texto — conforme primeira proposta */
.partners-text-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px 12px;
}
.partner-text{
  height:82px;
  border:1px solid #27333a;
  border-radius:5px;
  background:#080c0f;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#f2f5f6;
  font:600 1rem var(--display);
  letter-spacing:-.02em;
  position:relative;
}
.partner-text:after{
  content:"";
  position:absolute;
  left:22%;
  right:22%;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,transparent,#00b9ee,transparent);
  box-shadow:0 0 7px rgba(0,185,238,.55);
}
@media(max-width:1050px){.partners-text-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.partners-text-grid{grid-template-columns:1fr}}

/* Parceiros — logos PNG transparentes */
.partners-logo-card.transparent-logo{
  background:#080c0f;
}
.partners-logo-card.transparent-logo img{
  background:transparent;
  box-shadow:none;
  filter:none;
  max-width:78%;
  max-height:58px;
}

/* V19 — caminho e visual definitivo dos logos dos parceiros */
.partners-logo-grid .partners-logo-card.transparent-logo{
  background:#080c0f !important;
  background-image:none !important;
}
.partners-logo-grid .partners-logo-card.transparent-logo img{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  background:transparent !important;
  width:auto !important;
  height:auto !important;
  max-width:78% !important;
  max-height:58px !important;
  object-fit:contain !important;
  filter:none !important;
}

/* V20 — logos de clientes em PNG transparente */
.client-clean img,
.client img{
  background:transparent !important;
  filter:none !important;
  object-fit:contain !important;
}

/* =========================================================
   HERO RESPONSIVO — AJUSTE APENAS DE RESPONSIVIDADE
   V20 original preservada: nenhum texto/HTML do Hero foi alterado.
   ========================================================= */

/* Monitores grandes / 2K / 4K */
@media (min-width: 1501px){
  .hero{
    min-height: 560px !important;
    height: min(720px, calc(100vh - 74px)) !important;
    max-height: 720px !important;
    overflow: hidden !important;
  }
  .hero .wrap,
  .hero .container,
  .hero-content{
    max-width: 1450px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* 1366–1500px: notebooks e desktops convencionais */
@media (min-width: 901px) and (max-width: 1500px){
  .hero{
    min-height: 500px !important;
    height: min(600px, calc(100vh - 68px)) !important;
    max-height: 600px !important;
    overflow: hidden !important;
  }
  .hero .wrap,
  .hero .container,
  .hero-content{
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Tablet */
@media (max-width: 900px){
  .hero{
    min-height: 560px !important;
    height: clamp(560px, 78vh, 720px) !important;
    max-height: none !important;
    overflow: hidden !important;
  }
}

/* Celulares */
@media (max-width: 600px){
  .hero{
    min-height: 540px !important;
    height: calc(100svh - 64px) !important;
    max-height: 760px !important;
    overflow: hidden !important;
  }

  /* Impede títulos e blocos do Hero de estourarem a largura. */
  .hero h1,
  .hero h2,
  .hero p{
    max-width: 100%;
    overflow-wrap: normal;
  }

  .hero img,
  .hero video{
    max-width: 100%;
  }
}

/* Celulares baixos: evita corte vertical do conteúdo. */
@media (max-width: 600px) and (max-height: 720px){
  .hero{
    min-height: 500px !important;
    height: calc(100svh - 60px) !important;
  }
}

/* V23 — SOMENTE os desenhos dos 5 ícones da HOME */
.features .service-icon svg{
  width:42px;
  height:42px;
  fill:none;
  stroke:var(--cyan, #00b9ee);
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.features .service-icon svg circle{
  fill:none;
}
@media(max-width:700px){
  .features .service-icon svg{width:38px;height:38px}
}

/* =========================================================
   SERVIÇOS — SIMULAÇÃO V2
   ========================================================= */
.services-v2{background:#050709;color:#f5f7f8}
.services-hero-v2{padding-bottom:52px}
.services-hero-v2 p{max-width:700px;color:#bfc9ce;font-size:1rem;line-height:1.65;margin-top:16px}
.services-cards-v2{padding:18px 0 72px}
.services-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #1d2a31}
.service-card-v2{min-height:310px;padding:34px 30px 28px;border-right:1px solid #1d2a31;border-bottom:1px solid #1d2a31;position:relative;background:#06090b;transition:.25s ease}
.service-card-v2:nth-child(3n){border-right:0}
.service-card-v2:nth-child(n+4){border-bottom:0}
.service-card-v2:hover{background:#081116;transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(0,185,238,.35),0 18px 40px rgba(0,0,0,.3)}
.service-num-v2{font:500 .72rem "JetBrains Mono",monospace;color:#00b9ee}
.service-svg-v2{margin:34px 0 24px;width:48px;height:48px}
.service-svg-v2 svg{width:100%;height:100%;fill:none;stroke:#00b9ee;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.service-card-v2 h3{font-size:1.55rem;margin:0 0 9px;letter-spacing:-.035em}
.service-card-v2 p{font-size:.9rem;line-height:1.55;color:#b7c2c7;max-width:380px;margin:0}
.service-link-v2{display:inline-block;margin-top:25px;font:500 .68rem "JetBrains Mono",monospace;color:#00b9ee;letter-spacing:.04em}
.service-link-v2 b{font-size:1rem;margin-left:5px}
.highlight-v2{padding:0}
.services-highlight-v2{padding:84px 0;border-top:1px solid #17242a;border-bottom:1px solid #17242a;background:#06090b}
.highlight-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.highlight-copy-v2 h2{font-size:clamp(2.1rem,3.4vw,3.5rem);line-height:1.03;letter-spacing:-.045em;margin:10px 0 18px}
.highlight-copy-v2 h2 span{color:#00b9ee}
.highlight-copy-v2 p{max-width:560px;color:#bac4c8;line-height:1.7}
.benefits-v2{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;margin-top:28px;color:#dce4e7;font-size:.86rem}
.benefits-v2 div::first-letter{color:#00b9ee}
.highlight-image-v2{height:410px;overflow:hidden;border:1px solid #1d2a31;position:relative}
.highlight-image-v2:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 55%),linear-gradient(0deg,rgba(0,0,0,.35),transparent)}
.highlight-image-v2 img{width:100%;height:100%;object-fit:cover;display:block}
.process-v2{padding:78px 0}
.process-head-v2{margin-bottom:35px}
.process-head-v2 h2{font-size:clamp(1.9rem,3vw,3rem);margin:8px 0 0;letter-spacing:-.04em}
.process-grid-v2{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #1d2a31;border-bottom:1px solid #1d2a31}
.process-grid-v2>div{padding:30px 25px;min-height:185px;border-right:1px solid #1d2a31}
.process-grid-v2>div:last-child{border-right:0}
.process-grid-v2 b{font:500 .7rem "JetBrains Mono",monospace;color:#00b9ee}
.process-grid-v2 h3{font-size:1.1rem;margin:22px 0 8px}
.process-grid-v2 p{font-size:.82rem;line-height:1.55;color:#9eabb0;margin:0}
.services-cta-v2{text-align:center;padding:90px 0 110px;border-top:1px solid #17242a;background:radial-gradient(circle at center,rgba(0,150,210,.10),transparent 45%)}
.services-cta-v2 h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.02;letter-spacing:-.05em;margin:10px 0 17px}
.services-cta-v2 h2 span{color:#00b9ee}
.services-cta-v2 p{color:#aeb9be;margin-bottom:28px}

@media(max-width:900px){
 .services-grid-v2{grid-template-columns:repeat(2,1fr)}
 .service-card-v2:nth-child(3n){border-right:1px solid #1d2a31}
 .service-card-v2:nth-child(2n){border-right:0}
 .service-card-v2:nth-child(n+5){border-bottom:0}
 .highlight-grid-v2{grid-template-columns:1fr;gap:35px}
 .highlight-image-v2{height:330px}
 .process-grid-v2{grid-template-columns:repeat(2,1fr)}
 .process-grid-v2>div:nth-child(2){border-right:0}
 .process-grid-v2>div:nth-child(-n+2){border-bottom:1px solid #1d2a31}
}
@media(max-width:600px){
 .services-hero-v2{padding-bottom:38px}
 .services-hero-v2 h1{font-size:2.7rem}
 .services-grid-v2{grid-template-columns:1fr}
 .service-card-v2,.service-card-v2:nth-child(3n),.service-card-v2:nth-child(2n){border-right:0;border-bottom:1px solid #1d2a31;min-height:280px}
 .service-card-v2:last-child{border-bottom:0}
 .benefits-v2{grid-template-columns:1fr}
 .highlight-image-v2{height:250px}
 .process-grid-v2{grid-template-columns:1fr}
 .process-grid-v2>div{border-right:0;border-bottom:1px solid #1d2a31!important}
 .process-grid-v2>div:last-child{border-bottom:0!important}
 .services-cta-v2{padding:70px 0 85px}
}

/* MAPA — somente o Google Maps, sem container/placeholder */
.contact-map-only{
  width:100%;
  margin:0;
  padding:0;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  line-height:0;
}
.contact-map-only iframe{
  display:block;
  width:100%;
  height:450px;
  margin:0;
  padding:0;
  border:0 !important;
  background:transparent !important;
}
@media (max-width:700px){
  .contact-map-only iframe{
    height:360px;
  }
}

/* V24 — vídeo institucional da Home */
.about-video{
  position:relative;
  overflow:hidden;
  background:#000;
}
.about-video-player{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#000;
}

/* Controller — página inicial de acesso */
.controller-page{
  min-height:520px;
  display:flex;
  align-items:center;
}
.controller-page h1{
  font-size:clamp(3rem,6vw,6rem);
  line-height:.95;
  letter-spacing:-.05em;
  margin:12px 0;
}
.controller-page p{
  color:#b8c4c9;
  max-width:560px;
  font-size:1rem;
}

/* V25 — enquadramento do vídeo institucional */
.about-video{
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#000;
  position:relative;
}
.about-video-player{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}
@media (max-width:900px){
  .about-video{
    aspect-ratio:16/9;
  }
  .about-video-player{
    object-position:center center;
  }
}

/* V26 — acesso direto ao UniFi Controller */
.controller-link{
  color:#00b9ee !important;
}
.controller-link:hover{
  color:#ffffff !important;
}
