/* ==========================================================================
   ESCS — Esyner Cyber Security | Design System para Divi
   Página: Tecnologias
   Cole este arquivo em: Divi > Opções do Tema > CSS Personalizado
   (ou deixe apenas o módulo de código "ESCS · CSS + JS" que já vem no layout)
   ========================================================================== */

:root{
  --escs-navy-950:#040c1b;
  --escs-navy-900:#07152d;
  --escs-navy-850:#0a1a35;
  --escs-navy-800:#0c1f3d;
  --escs-navy-700:#123054;

  --escs-line:rgba(125,180,255,.16);
  --escs-line-strong:rgba(125,180,255,.34);

  --escs-cyan:#3ce0ff;
  --escs-blue:#4f7dff;
  --escs-violet:#8b5cf6;
  --escs-mint:#37f0c2;

  --escs-text:#eaf2ff;
  --escs-muted:#9fb4d4;

  --escs-light:#f4f7fc;
  --escs-light-soft:#e9f0fa;
  --escs-ink:#0a1830;
  --escs-ink-muted:#526a8e;

  --escs-grad:linear-gradient(120deg,#3ce0ff 0%,#4f7dff 55%,#8b5cf6 100%);
  --escs-radius:18px;
  --escs-radius-lg:26px;
  --escs-shadow:0 24px 60px -30px rgba(3,10,25,.85);
  --escs-font:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}

/* --------------------------------------------------------------------------
   1. Reset de interferência do Divi
   -------------------------------------------------------------------------- */
.escs-page{ font-family:var(--escs-font); }
.escs-page .et_pb_row{ width:92%; max-width:1240px; }
.escs-page .et_pb_code_inner{ line-height:normal; }
.escs-page p{ margin:0 0 1em; }
.escs-page p:last-child{ margin-bottom:0; }
.escs-page a{ text-decoration:none; }
.escs-page img{ max-width:100%; height:auto; }
.escs-page *,.escs-page *::before,.escs-page *::after{ box-sizing:border-box; }

/* --------------------------------------------------------------------------
   2. Tipografia base
   -------------------------------------------------------------------------- */
.escs-eyebrow{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--escs-cyan);
}
.escs-eyebrow::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:var(--escs-cyan); box-shadow:0 0 0 5px rgba(60,224,255,.16);
}
.escs-section--light .escs-eyebrow,
.escs-section--soft .escs-eyebrow{ color:#1d6bd8; }
.escs-section--light .escs-eyebrow::before,
.escs-section--soft .escs-eyebrow::before{ background:#1d6bd8; box-shadow:0 0 0 5px rgba(29,107,216,.14); }

.escs-page h2.escs-title,
.escs-page h3.escs-title{
  font-size:clamp(1.9rem,3.4vw,2.9rem);
  line-height:1.15; font-weight:700; letter-spacing:-.02em;
  margin:.7rem 0 0; padding:0; color:var(--escs-text);
}
.escs-section--light h2.escs-title,
.escs-section--soft h2.escs-title{ color:var(--escs-ink); }

.escs-page p.escs-lead{
  font-size:1.05rem; line-height:1.75; margin-top:1rem; max-width:70ch;
  color:var(--escs-muted);
}
.escs-section--light p.escs-lead,
.escs-section--soft p.escs-lead{ color:var(--escs-ink-muted); }

.escs-text-gradient{
  background:var(--escs-grad);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.escs-head--center{ text-align:center; }
.escs-head--center .escs-lead{ margin-left:auto; margin-right:auto; }

/* Ícones */
.escs-page .escs-icon{
  width:22px; height:22px; flex:none;
  fill:none; stroke:currentColor; stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round;
}
.escs-page .escs-icon--sm{ width:16px; height:16px; }
.escs-page .escs-icon--lg{ width:26px; height:26px; }

/* --------------------------------------------------------------------------
   3. Botões
   -------------------------------------------------------------------------- */
.escs-page .escs-btn.et_pb_button,
.escs-page a.escs-btn{
  display:inline-flex !important; align-items:center; gap:.5rem;
  padding:.85rem 1.5rem !important; border-radius:999px !important;
  font-size:.94rem !important; font-weight:600 !important; letter-spacing:0 !important;
  border:1px solid transparent !important; transition:all .25s ease;
}
.escs-page .escs-btn.et_pb_button::before{ display:none !important; }
.escs-page .escs-btn.et_pb_button::after{ display:none !important; }

/* Ícones de seta dos botões (recriados como máscara SVG, sem depender da fonte do Divi) */
.escs-page .escs-btn--arrow-ne.et_pb_button::after,
.escs-page .escs-btn--arrow-down.et_pb_button::after{
  display:inline-block !important;
  content:"" !important;
  position:static !important;
  width:16px; height:16px; margin:0 0 0 .2rem !important;
  opacity:1 !important; line-height:1 !important;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain;
  transform:none !important;
}
.escs-page .escs-btn--arrow-ne.et_pb_button::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M7 7h10v10'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M7 7h10v10'/%3E%3C/svg%3E");
}
.escs-page .escs-btn--arrow-down.et_pb_button::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E");
}

.escs-page .escs-btn--primary.et_pb_button,
.escs-page a.escs-btn--primary{
  background:var(--escs-grad) !important; color:#04101f !important;
  box-shadow:0 14px 34px -16px rgba(79,125,255,.9);
}
.escs-page .escs-btn--primary:hover{ transform:translateY(-2px); filter:brightness(1.07); }

.escs-page .escs-btn--secondary.et_pb_button,
.escs-page a.escs-btn--secondary{
  background:rgba(125,180,255,.08) !important; color:var(--escs-text) !important;
  border-color:var(--escs-line-strong) !important;
}
.escs-page .escs-btn--secondary:hover{ background:rgba(125,180,255,.16) !important; transform:translateY(-2px); }

.escs-section--light .escs-btn--secondary,
.escs-section--soft .escs-btn--secondary{
  background:#fff !important; color:var(--escs-ink) !important; border-color:#d3e0f2 !important;
}

/* Botões lado a lado (o Divi envolve cada botão em seu próprio wrapper) */
.escs-page .et_pb_button_module_wrapper{ display:inline-block; margin:0 .75rem .75rem 0 !important; }
.escs-page .et_pb_button_module_wrapper:last-child{ margin-right:0 !important; }

/* --------------------------------------------------------------------------
   4. Seções
   -------------------------------------------------------------------------- */
/* O espaçamento vertical das seções é controlado pelo próprio Divi
   (Configurações da Seção > Design > Espaçamento), para continuar editável. */
.escs-section{ position:relative; }
.escs-section--dark{ background:var(--escs-navy-900); }
.escs-section--darker{ background:var(--escs-navy-950); }
.escs-section--light{ background:var(--escs-light); }
.escs-section--soft{ background:linear-gradient(180deg,var(--escs-light-soft) 0%,#fff 100%); }

/* --------------------------------------------------------------------------
   5. Hero
   -------------------------------------------------------------------------- */
.escs-hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(900px 520px at 82% 18%,rgba(79,125,255,.28) 0%,transparent 62%),
    radial-gradient(760px 460px at 10% 82%,rgba(55,240,194,.16) 0%,transparent 60%),
    linear-gradient(180deg,var(--escs-navy-950) 0%,var(--escs-navy-900) 60%,#081b39 100%);
}
.escs-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(rgba(125,180,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,180,255,.07) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(70% 65% at 50% 35%,#000 0%,transparent 100%);
  mask-image:radial-gradient(70% 65% at 50% 35%,#000 0%,transparent 100%);
}
.escs-hero .et_pb_row{ position:relative; z-index:2; }

.escs-breadcrumbs{
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;
  font-size:.82rem; color:var(--escs-muted); margin-bottom:1.1rem;
}
.escs-breadcrumbs a{ color:var(--escs-muted); transition:color .2s; }
.escs-breadcrumbs a:hover{ color:var(--escs-cyan); }
.escs-breadcrumbs span.is-current{ color:var(--escs-text); }

.escs-page h1.escs-h1{
  font-size:clamp(2.15rem,4.6vw,3.6rem); line-height:1.08; font-weight:750;
  letter-spacing:-.028em; color:var(--escs-text); margin:.9rem 0 0; padding:0;
}

/* Contadores nativos do Divi estilizados */
.escs-page .escs-metric .et_pb_number_counter .percent p,
.escs-page .escs-metric .percent-value{
  font-size:2.4rem !important; font-weight:750 !important;
  background:var(--escs-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent !important;
  line-height:1.1 !important;
}
.escs-page .escs-metric .title{
  font-size:.86rem !important; font-weight:500 !important; color:var(--escs-muted) !important;
  letter-spacing:.01em; margin-top:.35rem;
}
.escs-page .escs-metric{ padding-left:1.1rem; border-left:2px solid var(--escs-line-strong); }

/* --------------------------------------------------------------------------
   6. Rede orbital de tecnologias
   -------------------------------------------------------------------------- */
/* Os raios das órbitas precisam ser valores absolutos: percentuais dentro de
   calc() multiplicativo não resolvem de forma confiável nos navegadores. */
.technology-network{
  position:relative; width:100%; aspect-ratio:1/1;
  max-width:520px; margin:0 auto;
  --ring-1:124px;
  --ring-2:206px;
}
@media (max-width:1240px){ .technology-network{ --ring-1:110px; --ring-2:182px; max-width:460px; } }
@media (max-width:520px){  .technology-network{ --ring-1:84px;  --ring-2:132px; max-width:330px; } }
.technology-network__core{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:clamp(120px,34%,170px); aspect-ratio:1/1; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.25rem; text-align:center; padding:1rem; z-index:4;
  background:radial-gradient(circle at 30% 25%,rgba(79,125,255,.4),rgba(7,21,45,.96) 70%);
  border:1px solid var(--escs-line-strong);
  box-shadow:0 0 0 10px rgba(79,125,255,.06),0 26px 60px -24px rgba(60,224,255,.55);
}
.technology-network__core img{ width:44px; height:auto; margin-bottom:.2rem; }
.technology-network__core strong{ font-size:.82rem; color:var(--escs-text); line-height:1.2; }
.technology-network__core span{ font-size:.66rem; color:var(--escs-muted); line-height:1.25; }

.technology-network__ring{
  position:absolute; top:50%; left:50%; border-radius:50%;
  border:1px dashed rgba(125,180,255,.22); transform:translate(-50%,-50%);
  pointer-events:none;
}
.technology-network__ring--one{ width:calc(var(--ring-1) * 2); height:calc(var(--ring-1) * 2); animation:escs-spin 42s linear infinite; }
.technology-network__ring--two{ width:calc(var(--ring-2) * 2); height:calc(var(--ring-2) * 2); animation:escs-spin 68s linear infinite reverse; border-color:rgba(125,180,255,.16); }
.technology-network__ring--three{ width:calc(var(--ring-2) * 2 + 62px); height:calc(var(--ring-2) * 2 + 62px); border-style:solid; border-color:rgba(125,180,255,.08); }

@keyframes escs-spin{ to{ transform:translate(-50%,-50%) rotate(360deg); } }

.technology-network__logo{
  position:absolute; top:50%; left:50%; z-index:3;
  width:clamp(46px,12%,62px); aspect-ratio:1/1; border-radius:16px;
  display:flex; align-items:center; justify-content:center; padding:.55rem;
  background:rgba(10,26,53,.9); border:1px solid var(--escs-line);
  backdrop-filter:blur(6px);
  box-shadow:0 12px 30px -16px rgba(0,0,0,.9);
  transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1));
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
.technology-network__logo:hover{
  border-color:var(--escs-cyan);
  box-shadow:0 0 0 4px rgba(60,224,255,.12),0 16px 34px -14px rgba(60,224,255,.6);
}
.technology-network__logo img{ max-width:100%; max-height:100%; object-fit:contain; filter:brightness(0) invert(1) opacity(.88); }
.technology-network__logo:hover img{ filter:none; }

.technology-network__logo--1{ --a:0deg;   --r:var(--ring-1); }
.technology-network__logo--2{ --a:72deg;  --r:var(--ring-1); }
.technology-network__logo--3{ --a:144deg; --r:var(--ring-1); }
.technology-network__logo--4{ --a:216deg; --r:var(--ring-1); }
.technology-network__logo--5{ --a:288deg; --r:var(--ring-1); }
.technology-network__logo--6{  --a:22.5deg;  --r:var(--ring-2); }
.technology-network__logo--7{  --a:67.5deg;  --r:var(--ring-2); }
.technology-network__logo--8{  --a:112.5deg; --r:var(--ring-2); }
.technology-network__logo--9{  --a:157.5deg; --r:var(--ring-2); }
.technology-network__logo--10{ --a:202.5deg; --r:var(--ring-2); }
.technology-network__logo--11{ --a:247.5deg; --r:var(--ring-2); }
.technology-network__logo--12{ --a:292.5deg; --r:var(--ring-2); }
.technology-network__logo--13{ --a:337.5deg; --r:var(--ring-2); }

/* --------------------------------------------------------------------------
   7. Cards de princípios
   -------------------------------------------------------------------------- */
.principles-grid{
  display:grid; gap:1.25rem; margin-top:2.75rem;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.principle-card{
  background:#fff; border:1px solid #e2eaf5; border-radius:var(--escs-radius);
  padding:1.75rem 1.5rem; transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  position:relative; overflow:hidden;
}
.principle-card::after{
  content:""; position:absolute; inset:auto 0 0 0; height:3px;
  background:var(--escs-grad); transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.principle-card:hover{ transform:translateY(-6px); box-shadow:0 26px 50px -32px rgba(10,24,48,.5); border-color:#cfe0f5; }
.principle-card:hover::after{ transform:scaleX(1); }
.principle-card > span{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:15px; margin-bottom:1.15rem;
  background:linear-gradient(135deg,rgba(60,224,255,.16),rgba(79,125,255,.16));
  color:#1d6bd8;
}
.principle-card h3{ font-size:1.08rem; font-weight:650; color:var(--escs-ink); margin:0 0 .5rem; }
.principle-card p{ font-size:.94rem; line-height:1.65; color:var(--escs-ink-muted); margin:0; }

/* --------------------------------------------------------------------------
   8. Filtros do catálogo
   -------------------------------------------------------------------------- */
.catalog-toolbar{ margin:2.25rem 0 2rem; }
.filter-chips{ display:flex; flex-wrap:wrap; gap:.6rem; }
.filter-chip{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.6rem 1.05rem; border-radius:999px; cursor:pointer;
  font-size:.86rem; font-weight:550; font-family:inherit;
  background:#fff; color:var(--escs-ink-muted);
  border:1px solid #dbe5f3; transition:all .22s ease;
}
.filter-chip:hover{ border-color:#9dc0ee; color:var(--escs-ink); }
.filter-chip.is-active{
  background:var(--escs-navy-900); color:#fff; border-color:var(--escs-navy-900);
  box-shadow:0 12px 26px -16px rgba(7,21,45,.8);
}
.filter-chip.is-active .escs-icon{ color:var(--escs-cyan); }

/* --------------------------------------------------------------------------
   9. Cards de tecnologia
   -------------------------------------------------------------------------- */
.technology-catalog-grid{
  display:grid; gap:1.35rem;
  grid-template-columns:repeat(auto-fill,minmax(316px,1fr));
}
.tech-card{
  display:flex; flex-direction:column; gap:.9rem;
  background:#fff; border:1px solid #e2eaf5; border-radius:var(--escs-radius-lg);
  padding:1.6rem; position:relative; overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.tech-card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:4px;
  background:var(--escs-grad); opacity:0; transition:opacity .3s ease;
}
.tech-card:hover{ transform:translateY(-6px); box-shadow:0 32px 60px -34px rgba(10,24,48,.55); border-color:#cfe0f5; }
.tech-card:hover::before{ opacity:1; }
.tech-card.is-hidden{ display:none; }

.tech-card__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.tech-card__logo{
  width:64px; height:64px; flex:none; border-radius:14px; padding:.6rem;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(150deg,#f2f7fe,#e7effb); border:1px solid #e2eaf5;
}
.tech-card__logo img{ max-width:100%; max-height:100%; object-fit:contain; }
.tech-card__categories{ display:flex; flex-wrap:wrap; gap:.35rem; justify-content:flex-end; }
.tech-card__categories span{
  font-size:.68rem; font-weight:600; letter-spacing:.03em; text-transform:uppercase;
  padding:.28rem .6rem; border-radius:999px;
  background:rgba(29,107,216,.09); color:#1d6bd8;
}
.tech-card h3{ font-size:1.28rem; font-weight:700; color:var(--escs-ink); margin:0; letter-spacing:-.01em; }
.tech-card > p{ font-size:.94rem; line-height:1.65; color:var(--escs-ink-muted); margin:0; }

.tech-card__products{ display:flex; flex-wrap:wrap; gap:.4rem; }
.tech-card__products span{
  font-size:.76rem; font-weight:500; padding:.32rem .68rem; border-radius:8px;
  background:#f3f7fd; color:#3c527a; border:1px solid #e6edf8;
}

.tech-card__solutions{ margin-top:auto; padding-top:1rem; border-top:1px dashed #dfe8f5; }
.tech-card__solutions strong{
  display:block; font-size:.7rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:#8497b4; margin-bottom:.6rem;
}
.tech-card__solutions div{ display:flex; flex-direction:column; gap:.34rem; }
.tech-card__solutions a{
  font-size:.87rem; color:#1d6bd8; font-weight:550; line-height:1.4;
  display:inline-flex; align-items:center; gap:.4rem; transition:color .2s,transform .2s;
}
.tech-card__solutions a::before{
  content:""; width:5px; height:5px; border-radius:50%; background:currentColor; flex:none; opacity:.55;
}
.tech-card__solutions a:hover{ color:#0b47a3; transform:translateX(3px); }

.tech-card__official{
  display:inline-flex; align-items:center; gap:.45rem; margin-top:.35rem;
  font-size:.84rem; font-weight:600; color:var(--escs-ink);
  padding:.6rem .95rem; border-radius:10px; border:1px solid #dbe5f3;
  align-self:flex-start; transition:all .22s ease;
}
.tech-card__official:hover{ background:var(--escs-navy-900); color:#fff; border-color:var(--escs-navy-900); }

.technology-legal{
  display:flex; align-items:flex-start; gap:.6rem; margin-top:2.25rem;
  font-size:.82rem; line-height:1.6; color:#7d90ad;
}
.technology-legal .escs-icon{ color:#1d6bd8; margin-top:.15rem; }

.escs-empty{
  grid-column:1/-1; text-align:center; padding:3rem 1rem;
  color:var(--escs-ink-muted); font-size:.95rem;
}

/* Utilitário de visibilidade usado pelo filtro do catálogo */
.escs-page .is-hidden,
.escs-empty.is-hidden{ display:none !important; }

/* --------------------------------------------------------------------------
   10. Arquitetura em camadas
   -------------------------------------------------------------------------- */
.escs-connections{
  background:
    radial-gradient(700px 420px at 88% 8%,rgba(139,92,246,.22) 0%,transparent 60%),
    linear-gradient(180deg,#07152d 0%,#040c1b 100%);
}
.connection-stack{ display:grid; gap:1rem; margin-top:2.75rem; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.connection-stack article{
  position:relative; display:flex; gap:1rem; align-items:flex-start;
  padding:1.7rem 1.4rem; border-radius:var(--escs-radius);
  background:rgba(125,180,255,.05); border:1px solid var(--escs-line);
  transition:background .28s ease,border-color .28s ease,transform .28s ease;
}
.connection-stack article:hover{ background:rgba(125,180,255,.1); border-color:var(--escs-line-strong); transform:translateY(-5px); }
.connection-stack article > span{
  font-size:.95rem; font-weight:750; letter-spacing:.06em;
  background:var(--escs-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent; flex:none; padding-top:.15rem;
}
.connection-stack article > div{ display:flex; flex-direction:column; gap:.55rem; }
.connection-stack .escs-icon{ color:var(--escs-cyan); }
.connection-stack h3{ font-size:1.04rem; font-weight:650; color:var(--escs-text); margin:0; }
.connection-stack p{ font-size:.9rem; line-height:1.6; color:var(--escs-muted); margin:0; }

/* --------------------------------------------------------------------------
   11. CTA final
   -------------------------------------------------------------------------- */
.escs-cta{
  background:linear-gradient(120deg,#0b1f42 0%,#123054 45%,#0b2c55 100%);
  position:relative; overflow:hidden;
}
.escs-cta::before{
  content:""; position:absolute; width:520px; height:520px; right:-120px; top:-180px;
  border-radius:50%; background:radial-gradient(circle,rgba(60,224,255,.28),transparent 68%);
}
.escs-cta .et_pb_row{ position:relative; z-index:2; }
.escs-cta h2.escs-title{ font-size:clamp(1.6rem,3vw,2.35rem); line-height:1.2; font-weight:700; color:#fff; margin:.7rem 0 .9rem; letter-spacing:-.02em; }
.escs-cta p{ color:#b9cdea; font-size:1rem; line-height:1.7; margin:0; }

/* --------------------------------------------------------------------------
   12. Cabeçalho
   -------------------------------------------------------------------------- */
.escs-header{
  background:rgba(4,12,27,.86); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--escs-line);
}
.escs-header-inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.escs-brand{ display:inline-flex; align-items:center; gap:.7rem; }
.escs-brand__mark{ width:42px; height:42px; object-fit:contain; }
.escs-brand__text{ display:flex; flex-direction:column; line-height:1.1; }
.escs-brand__name{ font-size:1.18rem; font-weight:750; letter-spacing:.04em; color:#fff; }
.escs-brand__descriptor{ font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--escs-muted); }

.escs-nav{ display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.escs-nav a{ font-size:.9rem; font-weight:500; color:var(--escs-muted); position:relative; padding:.35rem 0; transition:color .2s; }
.escs-nav a:hover{ color:#fff; }
.escs-nav a.is-active{ color:#fff; }
.escs-nav a.is-active::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px; background:var(--escs-grad); }

.escs-header-actions{ display:flex; align-items:center; gap:.9rem; }
.escs-lang{ position:relative; }
.escs-lang__trigger{
  display:inline-flex; align-items:center; gap:.35rem; cursor:pointer;
  background:rgba(125,180,255,.08); border:1px solid var(--escs-line);
  color:var(--escs-text); font-size:.82rem; font-weight:600; font-family:inherit;
  padding:.5rem .8rem; border-radius:999px;
}
.escs-lang__menu{
  position:absolute; right:0; top:calc(100% + .55rem); min-width:170px; z-index:60;
  background:#0a1a35; border:1px solid var(--escs-line-strong); border-radius:14px;
  padding:.4rem; box-shadow:var(--escs-shadow);
  opacity:0; visibility:hidden; transform:translateY(-6px); transition:all .2s ease;
}
.escs-lang.is-open .escs-lang__menu{ opacity:1; visibility:visible; transform:translateY(0); }
.escs-lang__menu a{
  display:flex; justify-content:space-between; gap:1rem; padding:.55rem .75rem;
  border-radius:9px; font-size:.86rem; color:var(--escs-muted); transition:all .18s;
}
.escs-lang__menu a:hover{ background:rgba(125,180,255,.1); color:#fff; }
.escs-lang__menu a.is-current{ color:var(--escs-cyan); }

.escs-mobile-toggle{ display:none; background:none; border:0; color:#fff; cursor:pointer; padding:.4rem; }
.escs-mobile-toggle .escs-icon{ width:26px; height:26px; }
.escs-mobile-toggle .escs-icon--close{ display:none; }
.escs-header.is-open .escs-mobile-toggle .escs-icon--close{ display:block; }
.escs-header.is-open .escs-mobile-toggle .escs-icon--menu{ display:none; }

/* --------------------------------------------------------------------------
   13. Rodapé
   -------------------------------------------------------------------------- */
.escs-footer{ background:var(--escs-navy-950); border-top:1px solid var(--escs-line); }
.escs-footer-main{ display:grid; gap:2.5rem; grid-template-columns:1.5fr repeat(3,1fr); padding:0 0 2.5rem; }
.escs-footer-brand p{ font-size:.9rem; line-height:1.7; color:var(--escs-muted); margin:1.1rem 0 1.35rem; max-width:34ch; }
.escs-socials{ display:flex; gap:.6rem; }
.escs-social-link{
  display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
  border-radius:11px; color:var(--escs-muted);
  background:rgba(125,180,255,.06); border:1px solid var(--escs-line); transition:all .22s;
}
.escs-social-link:hover{ color:#04101f; background:var(--escs-cyan); border-color:var(--escs-cyan); transform:translateY(-3px); }
.escs-footer-column h3{ font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin:0 0 1.1rem; }
.escs-footer-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.escs-footer-links a{ font-size:.88rem; line-height:1.5; color:var(--escs-muted); transition:color .2s,transform .2s; display:inline-block; }
.escs-footer-links a:hover{ color:var(--escs-cyan); transform:translateX(3px); }
.escs-footer-bottom{
  display:flex; justify-content:space-between; gap:1.25rem; flex-wrap:wrap;
  padding:1.5rem 0 2rem; border-top:1px solid var(--escs-line);
  font-size:.79rem; color:#7089ad;
}

/* --------------------------------------------------------------------------
   14. Animações de entrada
   -------------------------------------------------------------------------- */
.escs-reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease,transform .7s ease; }
.escs-reveal.is-visible{ opacity:1; transform:none; }
.escs-reveal-delay-1{ transition-delay:.08s; }
.escs-reveal-delay-2{ transition-delay:.16s; }
.escs-reveal-delay-3{ transition-delay:.24s; }
.escs-reveal-delay-4{ transition-delay:.32s; }

@media (prefers-reduced-motion:reduce){
  .escs-reveal{ opacity:1 !important; transform:none !important; }
  .technology-network__ring{ animation:none !important; }
}

/* Voltar ao topo */
.escs-back-to-top{
  position:fixed; right:1.5rem; bottom:1.5rem; z-index:90;
  width:46px; height:46px; border-radius:50%; border:1px solid var(--escs-line-strong);
  background:var(--escs-navy-800); color:var(--escs-cyan); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(12px); transition:all .3s ease;
  box-shadow:var(--escs-shadow);
}
.escs-back-to-top.is-visible{ opacity:1; visibility:visible; transform:none; }
.escs-back-to-top:hover{ background:var(--escs-cyan); color:#04101f; }

/* --------------------------------------------------------------------------
   15. Responsivo
   -------------------------------------------------------------------------- */
@media (max-width:1100px){
  .escs-footer-main{ grid-template-columns:1fr 1fr; }
}
@media (max-width:980px){
  .escs-nav{
    display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    align-items:flex-start; gap:.25rem; padding:1.25rem 6%;
    background:#040c1b; border-bottom:1px solid var(--escs-line-strong);
  }
  .escs-header.is-open .escs-nav{ display:flex; }
  .escs-nav a{ width:100%; padding:.7rem 0; border-bottom:1px solid rgba(125,180,255,.08); }
  .escs-mobile-toggle{ display:inline-flex; }
  .escs-header-inner{ position:relative; }
  .technology-network{ margin-top:3rem; }
}
@media (max-width:768px){
  .escs-page .et_pb_row{ width:90%; }
  .technology-catalog-grid{ grid-template-columns:1fr; }
  .escs-footer-main{ grid-template-columns:1fr; gap:2rem; }
  .escs-page .escs-metric{ margin-bottom:1.25rem; }
  .tech-card__head{ flex-direction:column; }
  .tech-card__categories{ justify-content:flex-start; }
  .escs-header-actions a.escs-btn,
  .escs-page .escs-header-actions a.escs-btn{ display:none !important; }
}
@media (max-width:520px){
  .technology-network__logo{ width:44px; border-radius:13px; padding:.4rem; }
  .technology-network__core{ width:118px; }
}
