/*
Theme Name: AddereTech Insights
Theme URI: https://addere.tech/
Author: AddereTech
Author URI: https://adderetech.com/
Description: Tema one-page HUD (Segurança da Informação e Nuvem). Capa estática + blog WordPress, Customizer e menu.
Version: 1.12.1
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adderetech
Tags: one-column, custom-logo, custom-menu, featured-images, blog, dark
*/

:root{
  --bg:      #05070c;
  --bg-2:    #080c13;
  --panel:   #0a1018;
  --panel-2: #0c121c;
  --line:    rgba(146,166,190,.14);
  --line-2:  rgba(146,166,190,.08);
  --txt:     #dbe2ec;
  --muted:   #8491a3;
  --accent:  #2ef2a0;
  --accent-dim: rgba(46,242,160,.10);
  --amber:   #ffc25e;
  --sans:    "Space Grotesk", ui-sans-serif, system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  --mono:    "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;
  --maxw: 1180px;
  --ease: cubic-bezier(.22,.61,.36,1);
}
*{ margin:0; padding:0; box-sizing:border-box; }
/* Bug real (site inteiro): campo de formulário/botão NUNCA herda font-family
   do body sozinho — é assim que todo navegador vem de fábrica. Sem esta
   regra, busca, comentário, contato etc. caem na fonte padrão do sistema
   (Arial/Segoe UI "crua"), destoando visivelmente da Space Grotesk usada em
   todo o resto do site — o efeito é "fonte meio feinha" bem localizado, só
   dentro de campo/botão. Baixa especificidade de propósito: qualquer seletor
   mais específico (ex. .community-modal-box input) continua ganhando normal. */
button, input, select, textarea{ font-family:inherit; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--txt);
  line-height:1.65;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  -webkit-user-select:none;
  user-select:none;
}
.entry,
.entry *,
.comment-content,
.comment-content *,
.comment-form input,
.comment-form textarea,
.comment-identity .fn,
.comment-identity .fn *,
.search-form input[type="search"],
.page-hero h1,
.archive-card h2,
.archive-card h3,
.archive-card p,
#blog .post h3,
#blog .post p{
  -webkit-user-select:text;
  user-select:text;
}
::selection{ background:var(--accent); color:#03110a; }
a{ color:inherit; }
img{ display:block; max-width:100%; height:auto; }
.wrap{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-left:max(clamp(22px,5.2vw,48px), env(safe-area-inset-left, 0px));
  padding-right:max(clamp(22px,5.2vw,48px), env(safe-area-inset-right, 0px));
}
:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}

body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:
    linear-gradient(var(--line-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-2) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse 120% 90% at 50% 0%, #000 20%, transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 120% 90% at 50% 0%, #000 20%, transparent 80%);
}

.screen-reader-text{
  position:absolute !important;
  clip:rect(1px,1px,1px,1px);
  width:1px; height:1px;
  overflow:hidden;
  word-wrap:normal !important;
}
.skip-link{
  position:absolute; left:-999px; top:8px; z-index:100;
  background:var(--accent); color:#03110a; padding:10px 16px; border-radius:10px;
}
.skip-link:focus{ left:16px; }

.label{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--muted);
  display:inline-flex; align-items:center; gap:12px;
}
.label-center{ justify-content:center; }
.label .num{
  font-size:.62rem; letter-spacing:.08em; color:var(--accent); white-space:nowrap;
  border:1px solid rgba(46,242,160,.35); background:var(--accent-dim);
  border-radius:8px; padding:4px 9px;
}
.label .sq{ width:6px; height:6px; border-radius:2px; background:var(--accent); flex:0 0 auto; }

header.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(5,7,12,.82);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease);
}
header.site-header.scrolled{ border-bottom-color:var(--line); }
.nav{ display:flex; align-items:center; height:78px; gap:16px; }
.wordmark{ margin-right:auto; }
.nav-end{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.auth-nav{ display:flex; align-items:center; gap:10px; }
.auth-nav-name{
  font-size:.78rem; color:var(--muted); max-width:110px; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; display:none;
}
/* "Comunidade" (dentro do auth-nav) usa o MESMO estilo neutro de Sair/Entrar —
   antes tinha um botão verde próprio (.auth-nav-community) que, somado ao link
   "Comunidade" que já existia no menu principal quando logado, duplicava o
   item na tela (bug real relatado: "tem dois comunidade"). Agora só existe
   este, e com a mesma linguagem visual dos outros dois. */
.auth-nav-community, .auth-nav-logout, .auth-nav-login{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; padding:8px 10px; border-radius:10px;
  border:1px solid var(--line); white-space:nowrap;
  transition:color .3s var(--ease), border-color .3s var(--ease);
}
.auth-nav-community:hover, .auth-nav-logout:hover, .auth-nav-login:hover{ color:var(--accent); border-color:var(--accent); }
@media (min-width:520px){ .auth-nav-name{ display:inline-block; } }
.lang-switch{
  position:relative; display:inline-flex; align-items:center; gap:1px;
  border:1px solid var(--line); border-radius:999px; padding:2px;
  background:rgba(10,16,24,.65);
}
.lang-switch-thumb{
  position:absolute; top:2px; left:2px; z-index:0;
  width:26px; height:22px; border-radius:999px;
  background:var(--accent);
  pointer-events:none;
}
.lang-switch.is-ready .lang-switch-thumb{
  transition:left .35s var(--ease), top .35s var(--ease), width .35s var(--ease), height .35s var(--ease);
}
.lang-switch-btn{
  position:relative; z-index:1;
  font-family:var(--mono); font-size:.56rem; letter-spacing:.1em;
  color:var(--muted); text-transform:uppercase;
  min-width:26px; min-height:22px; padding:0 7px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:0; cursor:pointer;
  transition:color .35s var(--ease);
}
.lang-switch-btn:hover{ color:var(--txt); }
.lang-switch-btn[aria-pressed="true"]{ color:#03110a; }
/* Pedido: "faça um coisa la tipo as empresa que tem um botão grande la o nome
   do website bem bonito" — o nome/logo do site (extremo superior esquerdo,
   antes de qualquer outra coisa no cabeçalho) ganha cara de botão de marca
   (padding + cantos arredondados + fundo sutil que reage no hover), não só um
   link piscando sem nenhuma affordance — igual ao lockup de logo das empresas
   de verdade no topo do site. */
.wordmark{
  display:inline-flex; align-items:center; gap:12px; text-decoration:none; flex:0 0 auto; margin-right:auto;
  padding:8px 14px 8px 8px; border-radius:14px; border:1px solid transparent;
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.wordmark:hover{ background:rgba(146,166,190,.08); border-color:var(--line); }
.wordmark img{ height:34px; width:auto; }
.wordmark small{
  font-family:var(--mono); font-size:.6rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--txt); font-weight:600; border-left:1px solid var(--line); padding-left:12px;
}
nav.menu{ display:flex; align-items:center; gap:2px; }
nav.menu a{
  text-decoration:none; font-family:var(--mono); font-size:.72rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted); padding:10px 11px; border-radius:10px;
  transition:color .4s var(--ease), background .4s var(--ease), transform .4s var(--ease);
}
nav.menu a:hover, nav.menu a.active, nav.menu a.current-menu-item{ color:var(--txt); background:rgba(146,166,190,.09); }
nav.menu a.btn-nav{
  margin-left:12px; padding:12px 18px; border:1px solid var(--accent); color:var(--accent);
  border-radius:12px; white-space:nowrap;
  transition:background .4s var(--ease), color .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease);
}
nav.menu a.btn-nav:hover{ background:var(--accent); color:#03110a; box-shadow:0 8px 24px rgba(46,242,160,.28); transform:translateY(-1px); }
#btn-menu{
  display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:12px;
  background:var(--panel); color:var(--txt); cursor:pointer; font-size:1.1rem;
}

.btn{
  display:inline-flex; align-items:center; gap:12px; text-decoration:none; cursor:pointer;
  font-family:var(--mono); font-weight:600; font-size:.84rem; letter-spacing:.05em;
  padding:16px 28px; border-radius:14px; border:1px solid var(--accent);
  text-transform:uppercase;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease), filter .45s var(--ease);
}
.btn-solid{
  color:#03110a;
  border-color:transparent;
  background:linear-gradient(165deg, #8fffd8 0%, #2ef2a0 48%, #17c986 100%);
}
.btn-solid:hover{
  color:#03110a;
  filter:brightness(1.06);
  box-shadow:0 12px 32px rgba(46,242,160,.32);
  transform:translateY(-3px);
  background:linear-gradient(165deg, #b6ffe8 0%, #2ef2a0 46%, #12b877 100%);
}
.btn-line{ color:var(--txt); border-color:var(--line); background:transparent; }
.btn-line:hover{ border-color:var(--accent); color:var(--accent); box-shadow:0 10px 28px rgba(46,242,160,.16); transform:translateY(-3px); }

.hero{ padding:clamp(60px,8vw,100px) 0 clamp(44px,6vw,72px); }
.hero .wrap{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,5vw,80px); align-items:center; }
.hero .slogan{
  font-family:var(--mono); font-size:.76rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--accent); margin-top:0;
}
.hero h1{
  font-weight:700; letter-spacing:-.03em;
  font-size:clamp(2.4rem,5.2vw,3.8rem); line-height:1.06;
  margin:16px 0 22px; overflow-wrap:anywhere;
}
.hero h1 .hl, h2 .hl{ color:var(--accent); }
.lead{ font-size:1.1rem; color:var(--muted); max-width:34em; line-height:1.7; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:16px; margin-top:34px; }

.term{
  background:var(--panel); border:1px solid var(--line); border-radius:18px;
  box-shadow:0 30px 80px -40px rgba(0,0,0,.8);
  overflow:hidden; position:relative;
}
.term::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 3px);
}
.term-head{
  display:flex; align-items:center; gap:8px; padding:13px 18px;
  border-bottom:1px solid var(--line-2); background:var(--panel-2);
}
.term-head .dot{ width:10px; height:10px; border-radius:50%; background:var(--line); }
.term-head .dot:nth-child(1){ background:#ff6159; }
.term-head .dot:nth-child(2){ background:#ffc25e; }
.term-head .dot:nth-child(3){ background:#2ef2a0; }
.term-head .label{ margin-left:10px; font-size:.62rem; }
.term-body{
  padding:20px 22px 24px; min-height:244px;
  font-family:var(--mono); font-size:.8rem; line-height:2.05;
}
.tl{ white-space:pre-wrap; word-break:break-word; color:var(--muted); }
.tl .p{ color:var(--accent); }
.tl .cmd{ color:var(--txt); }
.tl .ok{ color:var(--accent); font-weight:600; }
.tl .block{ color:var(--amber); font-weight:600; }
.tl .val{ color:var(--txt); }
.caret{ color:var(--accent); animation:blink 1.05s steps(1) infinite; }
@keyframes blink{ 50%{ opacity:0; } }

section{ padding:clamp(72px,9vw,116px) 0; }
.sec-head{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:end; margin-bottom:clamp(38px,6vw,56px); }
h2{ font-weight:700; letter-spacing:-.03em; font-size:clamp(1.9rem,3.6vw,2.8rem); line-height:1.12; margin-top:20px; overflow-wrap:anywhere; }
.sec-head p{ color:var(--muted); max-width:34em; font-size:.99rem; line-height:1.7; }

.services{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.svc{
  position:relative; border:1px solid var(--line); background:var(--panel);
  padding:28px 26px 30px; text-decoration:none; border-radius:20px;
  transition:border-color .35s var(--ease), background .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease);
  overflow:hidden; display:flex; flex-direction:column; min-width:0;
}
.svc:hover,
.svc.reveal.show:hover{
  border-color:rgba(46,242,160,.4); background:var(--panel-2);
  transform:translateY(-5px); box-shadow:0 24px 50px -24px rgba(0,0,0,.7);
}
.svc .scan{
  position:absolute; top:0; left:0; right:0; height:2px; background:var(--accent);
  border-radius:2px; transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
.svc:hover .scan{ transform:scaleX(1); }
.svc .idx{ font-family:var(--mono); font-size:.66rem; letter-spacing:.2em; color:var(--muted); transition:color .3s; }
.svc:hover .idx{ color:var(--accent); }
.svc .ico{
  margin:20px 0 16px; color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  width:26px; height:26px;
}
.svc .ico svg{ display:block; width:26px; height:26px; overflow:hidden; }
.svc h3{ font-size:1.12rem; font-weight:700; letter-spacing:-.015em; margin-bottom:9px; overflow-wrap:anywhere; }
.svc p{ font-size:.88rem; color:var(--muted); margin-bottom:16px; flex:1; line-height:1.65; }
.tags{ display:flex; flex-wrap:wrap; gap:7px; }
.tag{
  font-family:var(--mono); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); border:1px solid var(--line); border-radius:999px; padding:5px 10px;
}

/* Radar. Faixa defesa = mesmo fundo/grade do restante (sem laje opaca). */
.radar-band{ background:transparent; }
.radar-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:clamp(40px,5vw,80px); align-items:center; }
.radar-wrap{ display:grid; place-items:center; }
.defesa-title,
.defesa-title span{ color:var(--txt); }
.defesa-lead{ color:var(--muted); margin-top:18px; max-width:32em; line-height:1.7; }

.radar{
  position:relative;
  width:min(380px, 82vw);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 50%, rgba(46,242,160,.035) 0 16%, transparent 48%),
    radial-gradient(circle, rgba(46,242,160,.03) 0 1px, transparent 2px),
    var(--panel);
  overflow:hidden;
  isolation:isolate;
  mask-image:radial-gradient(circle closest-side at 50% 50%, #000 98.4%, transparent 100%);
  -webkit-mask-image:radial-gradient(circle closest-side at 50% 50%, #000 98.4%, transparent 100%);
}
.radar-clip{
  position:absolute;
  inset:2px;
  border-radius:50%;
  overflow:hidden;
  clip-path:circle(50% at 50% 50%);
  -webkit-clip-path:circle(50% at 50% 50%);
}
.radar .ring{
  position:absolute;
  border:1px solid var(--line-2);
  border-radius:50%;
  pointer-events:none;
  z-index:1;
}
.radar .r1{ inset:16%; }
.radar .r2{ inset:33%; }
.radar .r3{ inset:49%; border-color:rgba(146,166,190,.16); }
.radar .cross{
  position:absolute;
  background:rgba(146,166,190,.28);
  pointer-events:none;
  z-index:3;
}
.radar .cx{
  left:0;
  right:0;
  top:50%;
  height:1px;
  width:auto;
}
.radar .cy{
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  height:auto;
}
.radar .sweep{
  position:absolute;
  inset:0;
  background:
    conic-gradient(from 0deg,
      rgba(46,242,160,.16) 0deg,
      rgba(46,242,160,.07) 35deg,
      rgba(46,242,160,.16) 70deg,
      transparent 82deg);
  animation:sweep 10s linear infinite;
  z-index:2;
  pointer-events:none;
  transform-origin:50% 50%;
}
.radar .needles{
  position:absolute;
  inset:0;
  animation:sweep 10s linear infinite;
  z-index:3;
  pointer-events:none;
  transform-origin:50% 50%;
}
.radar .needle{
  position:absolute;
  left:50%;
  top:2px;
  width:1px;
  height:calc(50% - 2px);
  background:linear-gradient(to bottom, rgba(200,255,232,.15), #c8ffe8 18%, #c8ffe8);
  transform-origin:50% 100%;
  transform:translateX(-50%);
  pointer-events:none;
}
.radar .needle.trail{
  transform:translateX(-50%) rotate(70deg);
}
@keyframes sweep{ to{ transform:rotate(360deg); } }
.blip{
  position:absolute; width:5px; height:5px; border-radius:50%;
  background:var(--accent);
  opacity:0; animation:blip 10s ease-in-out infinite; z-index:4;
}
.blip.b1{ top:28%; left:56%; animation-delay:.9s; }
.blip.b2{ top:60%; left:32%; animation-delay:2.2s; }
.blip.b3{ top:44%; left:68%; animation-delay:3.4s; }
.blip.b4{ top:66%; left:58%; animation-delay:4.7s; background:var(--amber); }
@keyframes blip{ 0%{opacity:0; transform:scale(.45)} 8%{opacity:.95; transform:scale(1)} 42%{opacity:.55} 100%{opacity:0; transform:scale(1)} }

#blog .wrap{ max-width:1280px; }
#blog .posts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
#blog .post{
  border:1px solid var(--line); background:var(--panel); border-radius:18px;
  padding:34px 36px 38px; text-decoration:none; position:relative; overflow:hidden; min-height:250px;
  transition:border-color .35s var(--ease), background .35s var(--ease), transform .35s var(--ease);
  display:block; min-width:0;
}
#blog .post:hover,
#blog .post.reveal.show:hover{ border-color:rgba(46,242,160,.4); background:var(--panel-2); transform:translateY(-4px); }
#blog .post .meta{
  display:flex; justify-content:space-between; gap:12px;
  font-family:var(--mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
#blog .post .meta em{ color:var(--accent); font-style:normal; }
#blog .post h3{ font-size:1.28rem; font-weight:700; letter-spacing:-.015em; margin:16px 0 10px; line-height:1.35; overflow-wrap:anywhere; }
#blog .post p{ color:var(--muted); font-size:.95rem; margin-bottom:18px; line-height:1.75; max-width:62ch; }
#blog .post .go{ font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; color:var(--accent); text-transform:uppercase; text-decoration:none; }
#blog .post .go i{ font-style:normal; display:inline-block; transition:transform .3s var(--ease); }
#blog .post:hover .go i{ transform:translateX(5px); }
.blog-link{ margin-top:22px; display:flex; justify-content:flex-start; }
.blog-link a{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); text-decoration:none; border:1px dashed rgba(46,242,160,.4);
  border-radius:999px; padding:12px 22px;
  transition:background .4s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);
}
.blog-link a:hover{ background:var(--accent-dim); transform:translateY(-2px); box-shadow:0 8px 22px rgba(46,242,160,.14); }

body.single article.entry.post,
body.page article.entry.post{
  width:min(100% - 48px, 980px);
  max-width:980px;
  margin:0 auto;
  padding:56px 0 80px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  min-height:0;
  transform:none;
  text-decoration:none;
  overflow:visible;
  display:block;
}

.cta{ text-align:center; }
.cta .label{ justify-content:center; }
.cta h2{ font-size:clamp(2.2rem,5vw,3.6rem); max-width:14em; margin:24px auto 18px; }
.cta p{ color:var(--muted); max-width:36em; margin:0 auto 40px; line-height:1.7; }
.cta-row{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.search-wrap{ max-width:480px; margin:32px auto 0; }

footer.site-footer{ background:var(--bg-2); border-top:1px solid var(--line); }
.foot-main{ padding:clamp(56px,7vw,84px) 0 clamp(36px,5vw,56px); display:grid; grid-template-columns:1.8fr 1fr 1fr; gap:clamp(32px,5vw,56px); }
.foot-brand .wordmark img{ height:30px; }
.foot-brand .wordmark small{ display:none; }
.foot-brand p{ color:var(--muted); font-size:.9rem; margin-top:20px; max-width:26em; line-height:1.65; }
.foot-brand .slogan{ font-family:var(--mono); font-size:.64rem; letter-spacing:.26em; text-transform:uppercase; color:var(--accent); margin-top:14px; display:block; }
footer.site-footer .label{ display:block; margin-bottom:20px; font-size:.62rem; }
footer.site-footer ul{ list-style:none; display:grid; gap:12px; }
footer.site-footer ul a{ text-decoration:none; color:#a7b1c0; font-size:.9rem; transition:color .25s; display:inline-flex; gap:8px; align-items:center; }
footer.site-footer ul a:hover{ color:var(--accent); }
footer.site-footer ul a .ext{ font-size:.75rem; opacity:.6; }
.foot-plain{ color:var(--muted); font-size:.9rem; }
.foot-widgets{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px; padding:0 0 36px; border-top:1px solid var(--line-2); padding-top:28px;
}
.foot-widgets .widget-title{
  font-size:1rem; margin:0 0 12px; letter-spacing:0; line-height:1.3;
}
.widget_archive,
.widget_categories,
.wp-block-archives,
.wp-block-categories{
  display:none;
}
.foot-bar{ border-top:1px solid var(--line-2); padding:20px 0; display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.foot-bar .label{ font-size:.6rem; }
.foot-bar .ok{ color:var(--accent); }

.reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.show{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .caret{ animation:none; }
  .radar .sweep{ animation:none; opacity:.25; }
  .radar .needles{ animation:none; }
  .blip{ animation:none; opacity:1; transform:none; }
  .btn, .btn-solid, .btn-line, nav.menu a, .comment-form .submit, .comment-like, .blog-link a{
    transition:none;
    transform:none;
    filter:none;
  }
  .comment-like.like-anim,
  .comment-like.like-anim svg,
  .comment-like.like-anim .comment-like-count,
  .comment-like.like-anim::after,
  .comment-like.unlike-anim,
  .comment-like.unlike-anim svg,
  .comment-like.unlike-anim .comment-like-count{ animation:none; }
  .comment-list .children{ transition:none; }
  html{ scroll-behavior:auto; }
}
@media (hover:none){
  .svc:hover, #blog .post:hover, .archive-card:hover, .btn-solid:hover, .btn-line:hover{
    transform:none;
  }
}

.page-hero{ padding:72px 0 36px; border-bottom:1px solid var(--line); }
.page-hero h1{ font-size:clamp(2rem,4vw,3rem); letter-spacing:-.03em; margin:12px 0 10px; overflow-wrap:anywhere; }
.page-hero p{ color:var(--muted); }
.entry{
  width:min(100%, 980px);
  max-width:980px;
  margin:0 auto;
  padding:56px clamp(0px, 2vw, 24px) 80px;
  overflow-wrap:anywhere;
}
.entry h2, .entry h3{ margin:1.4em 0 .5em; }
.entry p, .entry ul, .entry ol{ margin:0 0 1.1em; color:var(--txt); }
.entry ul, .entry ol{ padding-left:1.2em; }
.entry a{ color:var(--accent); }
.entry .meta{ font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:22px; }
.wp-block-image img, .entry img{ border-radius:14px; max-width:100%; height:auto; }
.entry > img, .entry .wp-post-image{ margin-bottom:1.4em; }
/* Sistema de posicionamento de imagem do próprio editor de bloco do WordPress
   (Gutenberg) — pedido: "coloca imagem de forma bem personalizável, em
   qualquer lugar". O tema já declara add_theme_support('align-wide')
   (functions.php), o que LIBERA as opções Larga/Cheia no editor — mas sem
   este CSS elas não tinham efeito nenhum no front (a coluna `.entry` é fixa
   em 980px, sem escape nenhum), então escolher a opção parecia não fazer
   nada. Esquerda/direita/centro também não tinham nenhuma regra própria.
   Isto cobre as 5 opções nativas: nenhum, esquerda, direita, centro, larga,
   cheia — sem plugin nenhum, sem sistema próprio pra reinventar. */
.entry .alignleft{ float:left; margin:6px 24px 12px 0; max-width:min(50%, 420px); }
.entry .alignright{ float:right; margin:6px 0 12px 24px; max-width:min(50%, 420px); }
.entry .aligncenter{ display:block; margin-left:auto; margin-right:auto; }
.entry .alignwide{
  width:min(1240px, calc(100vw - 32px)); max-width:none;
  margin-left:calc(50% - 50vw + 16px); margin-right:calc(50% - 50vw + 16px);
}
.entry .alignfull{
  width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}
.entry .alignfull img{ border-radius:0; }
.entry figure{ margin:1.4em 0; }
.entry figcaption, .entry .wp-element-caption{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; color:var(--muted);
  text-align:center; margin-top:8px;
}
/* Vídeo só por um link colado numa linha própria (YouTube/Vimeo/etc.) — o
   WordPress Core já transforma isso num embed com preview automático via
   oEmbed, sem precisar de nada customizado; add_theme_support('responsive-embeds')
   (functions.php) já pede a proporção certa — isto só estiliza pra combinar
   com o resto do tema (cantos arredondados, sem vazar da coluna).
   `.wp-has-aspect-ratio` é o wrapper que o Core usa quando o embed vem do
   editor clássico (wp_editor(), usado no formulário "Artigos AddereTech" —
   ver inc/admin-texts.php); `.wp-block-embed` é o do editor de blocos
   ("Posts do WordPress"). Mesmo estilo pros dois — a pessoa não deveria ver
   diferença visual só por causa de qual editor colou o link. */
.entry .wp-block-embed,
.entry .wp-has-aspect-ratio{ margin:1.6em 0; }
.entry .wp-block-embed__wrapper,
.entry .wp-has-aspect-ratio{ position:relative; border-radius:14px; overflow:hidden; background:#000; }
.entry .wp-block-embed iframe,
.entry .wp-has-aspect-ratio iframe{ border-radius:14px; }
.page-nav{ display:flex; justify-content:space-between; gap:16px; margin-top:40px; font-family:var(--mono); font-size:.74rem; text-transform:uppercase; letter-spacing:.1em; }
.page-nav a{ color:var(--accent); text-decoration:none; }
.search-form{ display:flex; gap:10px; margin:20px 0 32px; }
.search-form input[type="search"]{
  flex:1; background:var(--panel); border:1px solid var(--line); color:var(--txt);
  padding:14px 16px; border-radius:12px; font-family:var(--sans);
}
.search-form input[type="submit"]{
  background:var(--accent); color:#03110a; border:0; border-radius:12px; padding:14px 20px;
  font-family:var(--mono); text-transform:uppercase; cursor:pointer;
}
.comments-area{
  width:min(100% - 48px, 980px);
  max-width:980px;
  margin:0 auto 80px;
  padding:24px 0 0;
}
.comments-head{ margin-bottom:28px; }
.comments-head h2{ margin-top:0; font-size:clamp(1.6rem, 3vw, 2.2rem); }
.comments-head p{ color:var(--muted); margin-top:10px; max-width:42em; }
.comment-compose{
  border:0; background:transparent;
  border-radius:0; padding:0; margin-bottom:32px;
}
.comment-reply-title{ font-size:1.05rem; margin:0 0 14px; letter-spacing:-.02em; }
.comment-notes, .logged-in-as{ margin:0; }
.comment-awaiting{ color:var(--accent); margin:0 0 20px; }
.comment-form label{ display:block; font-family:var(--mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.comment-form p{ margin:0 0 14px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%; background:var(--panel-2); border:1px solid var(--line); color:var(--txt);
  padding:12px 14px; border-radius:12px; font-family:var(--sans); font-size:1rem;
}
.comment-form textarea{ min-height:96px; resize:vertical; }
.comment-form input[type="checkbox"]{ width:auto; margin:4px 8px 0 0; accent-color:var(--accent); }
.comment-form .submit{
  color:#03110a; border:0; cursor:pointer;
  font-family:var(--mono); text-transform:uppercase; letter-spacing:.08em;
  padding:14px 22px; border-radius:12px; font-weight:600;
  background:linear-gradient(165deg, #8fffd8 0%, #2ef2a0 48%, #17c986 100%);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), filter .45s var(--ease);
}
.comment-form .submit:hover{ filter:brightness(1.06); box-shadow:0 12px 32px rgba(46,242,160,.32); transform:translateY(-2px); }
.comments-empty{ color:var(--muted); }
.comment-list, .comment-list .children{ list-style:none; display:grid; gap:14px; }
.comment-list .children{
  margin:8px 0 0 22px; padding-left:18px;
  border-left:2px solid rgba(46,242,160,.28);
  display:grid;
  grid-template-rows:1fr;
  gap:0;
  opacity:1;
  overflow:hidden;
}
.comment-list .children.is-ready-anim{
  transition:grid-template-rows .42s var(--ease), opacity .32s var(--ease), margin .42s var(--ease), padding .42s var(--ease), border-width .42s var(--ease);
}
.comment-list .children.is-collapsed{
  grid-template-rows:0fr;
  opacity:0;
  margin-top:0;
  margin-bottom:0;
  padding-left:0;
  border-left-width:0;
  pointer-events:none;
}
.comment-replies-panel{
  min-height:0;
  overflow:hidden;
  display:grid;
  gap:14px;
}
.comment-replies-toggle{
  display:inline-flex; align-items:center; gap:8px;
  margin:10px 0 0 8px; padding:4px 6px;
  background:transparent; border:0; cursor:pointer;
  color:var(--accent); font-family:var(--mono); font-size:.68rem;
  letter-spacing:.1em; text-transform:uppercase; min-height:40px;
}
.comment-replies-connector{
  width:16px; height:16px; border-radius:50%; flex:0 0 auto;
  border:1px solid rgba(46,242,160,.45);
  background:rgba(46,242,160,.08);
  display:grid; place-items:center;
}
.comment-replies-connector svg{
  display:block; width:8px; height:8px;
}
.comment-replies-connector .plus-v{
  transform-origin:center;
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.comment-replies-toggle[aria-expanded="true"] .comment-replies-connector .plus-v{
  opacity:0; transform:scaleY(0);
}
.comment-body{
  border:1px solid var(--line); background:var(--panel);
  border-radius:18px; padding:20px 22px 16px;
}
.comment-author{ display:flex; align-items:center; gap:12px; }
.comment-author img{ width:48px; height:48px; border-radius:14px; }
.comment-identity{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.comment-identity .fn, .comment-identity .fn a{ color:var(--txt); text-decoration:none; font-size:1rem; overflow-wrap:anywhere; }
.comment-date{ font-family:var(--mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.comment-content{ margin:14px 0 12px; color:var(--txt); overflow-wrap:anywhere; }
.comment-content p{ margin:0 0 .8em; }
.comment-content p:last-child{ margin-bottom:0; }
.comment-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.comment-like{
  position:relative;
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; border:1px solid var(--line); color:var(--muted);
  border-radius:999px; padding:6px 12px; cursor:pointer;
  font-family:var(--mono); font-size:.68rem; letter-spacing:.08em;
  min-height:40px; overflow:visible;
  transition:border-color .35s var(--ease), color .35s var(--ease), transform .35s var(--ease), background .35s var(--ease);
}
.comment-like svg{
  width:16px; height:16px; display:block;
  overflow:visible;
  transform-box:fill-box;
  transform-origin:50% 50%;
}
.comment-like-count{ display:inline-block; }
.comment-like.is-liked, .comment-like[aria-pressed="true"]{
  border-color:rgba(46,242,160,.45); color:var(--accent);
}
.comment-like.is-liked svg, .comment-like[aria-pressed="true"] svg{
  fill:currentColor; stroke:none;
}
.comment-like::after{
  content:""; position:absolute; left:18px; top:50%; width:8px; height:8px;
  margin:-4px 0 0 -4px; border-radius:50%; border:1px solid var(--accent);
  opacity:0; pointer-events:none;
}
.comment-like.like-anim.is-liked::after{ animation:like-ring .55s var(--ease); }
.comment-like.like-anim svg{ animation:like-heart .5s var(--ease); }
.comment-like.like-anim .comment-like-count{ animation:like-count .4s var(--ease); }
@keyframes like-heart{
  0%{ transform:scale(1); }
  28%{ transform:scale(1.38); }
  55%{ transform:scale(.9); }
  100%{ transform:scale(1); }
}
@keyframes like-count{
  0%{ transform:translateY(0); opacity:1; }
  40%{ transform:translateY(-7px); opacity:.35; }
  100%{ transform:translateY(0); opacity:1; }
}
.comment-like.unlike-anim{
  color:#ff5c5c; border-color:rgba(255,92,92,.55);
}
.comment-like.unlike-anim svg{
  fill:#ff5c5c; stroke:none;
  animation:unlike-heart .4s var(--ease);
}
.comment-like.unlike-anim .comment-like-count{ animation:unlike-count .4s var(--ease); }
@keyframes unlike-heart{
  0%{ transform:scale(1); }
  40%{ transform:scale(.92); }
  100%{ transform:scale(1); }
}
@keyframes unlike-count{
  0%{ transform:translateY(0); opacity:1; }
  40%{ transform:translateY(8px); opacity:.35; }
  100%{ transform:translateY(0); opacity:1; }
}
@keyframes like-ring{
  0%{ opacity:.75; transform:scale(.35); }
  100%{ opacity:0; transform:scale(7); }
}
.comment-reply-link{
  display:inline-flex; align-items:center;
  font-family:var(--mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); text-decoration:none; min-height:40px;
}
.comment-reply-title small{ display:block; margin-top:8px; font-size:.75rem; }
#cancel-comment-reply-link{ color:var(--muted); text-decoration:none; }
.comment .comment-respond,
li.comment .comment-respond{
  position:relative;
  margin:10px 0 4px;
  padding:14px 14px 12px;
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:14px;
  max-width:36rem;
}
.comment .comment-reply-title,
li.comment .comment-reply-title{
  font-size:.92rem;
  margin:0 0 8px;
  padding-right:7.5rem;
  line-height:1.3;
}
.comment .comment-reply-title small,
li.comment .comment-reply-title small{
  position:absolute;
  top:10px;
  right:12px;
  margin:0;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.comment .comment-form textarea,
li.comment .comment-form textarea{
  min-height:72px;
  padding:8px 10px;
  font-size:.92rem;
}
.comment .comment-form .submit,
li.comment .comment-form .submit{
  padding:10px 16px;
  font-size:.7rem;
}
.comment .comment-form p,
li.comment .comment-form p{ margin:0 0 8px; }
.comments-pagination{ margin-top:24px; }
.comments-pagination .nav-links{ justify-content:flex-start; }

.articles-archive{ padding:56px 0 88px; }
.archive-posts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.archive-card{
  margin:0; padding:30px; border:1px solid var(--line); border-radius:18px; background:var(--panel);
  min-width:0; display:flex; flex-direction:column; overflow:hidden;
  transition:border-color .35s var(--ease), transform .35s var(--ease);
}
.archive-card:hover{ border-color:rgba(46,242,160,.4); transform:translateY(-3px); }
.archive-card-thumb{ display:block; margin:-30px -30px 18px; overflow:hidden; border-radius:18px 18px 0 0; }
.archive-card-thumb img{ width:100%; height:180px; object-fit:cover; }
.archive-card .meta{
  display:flex; justify-content:space-between; gap:12px;
  font-family:var(--mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.archive-card .meta em{ color:var(--accent); font-style:normal; }
.archive-card h2, .archive-card h3{ margin:14px 0 10px; font-size:1.35rem; line-height:1.35; overflow-wrap:anywhere; }
.archive-card h2 a, .archive-card h3 a{ text-decoration:none; }
.archive-card p{ color:var(--muted); line-height:1.7; margin-bottom:18px; flex:1; }
.archive-card .go{ font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; color:var(--accent); text-transform:uppercase; text-decoration:none; }
.archive-card .go i{ font-style:normal; }

.nav-links{ margin-top:36px; display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.nav-links .page-numbers,
.nav-links .page-numbers.dots{
  min-width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--line); border-radius:10px; text-decoration:none;
  font-family:var(--mono); font-size:.72rem; color:var(--txt);
}
.nav-links .current{ background:var(--accent); border-color:var(--accent); color:#03110a; }

@media (max-width: 1100px){
  .hero .wrap{ grid-template-columns:1fr; gap:28px; }
  .hero h1{ font-size:clamp(2.1rem, 6vw, 3.2rem); }
  .hero .term{ display:none; }
  .radar-grid{ grid-template-columns:1fr; gap:36px; }
}
@media (max-width: 1020px){
  .services{ grid-template-columns:1fr 1fr; gap:18px; }
}
@media (max-width: 900px){
  .sec-head{ grid-template-columns:1fr; align-items:start; gap:14px 0; margin-bottom:32px; }
  .foot-main{ grid-template-columns:1fr 1fr; }
  section{ padding:clamp(56px, 8vw, 88px) 0; }
  .svc{ padding:24px 22px 26px; }
}
@media (max-width: 860px){
  .nav{ height:64px; }
  .lang-switch-btn{ min-width:28px; min-height:24px; padding:0 8px; }
  #btn-menu{ display:grid; place-items:center; min-width:44px; min-height:44px; }
  .wordmark small{ display:none; }
  .wordmark img{ height:28px; }
  nav.menu{
    position:fixed; inset:64px 12px auto 12px; z-index:49;
    flex-direction:column; align-items:stretch; gap:2px; padding:10px;
    border:1px solid var(--line); border-radius:16px; background:rgba(8,12,19,.98);
    box-shadow:0 40px 80px -30px rgba(0,0,0,.9);
    opacity:0; transform:translateY(-8px); pointer-events:none; transition:.28s var(--ease);
    max-height:calc(100dvh - 80px); overflow:auto; -webkit-overflow-scrolling:touch;
  }
  nav.menu.open{ opacity:1; transform:none; pointer-events:auto; }
  nav.menu a{
    padding:14px 14px; min-height:44px;
    display:flex; align-items:center;
  }
  nav.menu a.btn-nav{ margin:10px 0 4px; text-align:center; justify-content:center; }
  body.menu-open{ overflow:hidden; }
}
@media (min-width: 720px){
  .comment-form{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
  .comment-form-comment,
  .form-submit{ grid-column:1 / -1; }
}
@media (max-width: 720px){
  .comments-area{ width:min(100% - 32px, 980px); margin-bottom:64px; }
  .comment-list .children{ padding-left:12px; }
  #blog .post{ min-height:0; padding:24px 20px 26px; }
  .archive-card{ padding:22px; }
  .archive-card-thumb{ margin:-22px -22px 16px; }
  .page-hero{ padding:48px 0 28px; }
  .articles-archive{ padding:36px 0 64px; }
  .entry{ padding:40px 0 64px; }
  body.single article.entry.post,
  body.page article.entry.post{ width:min(100% - 32px, 980px); padding:40px 0 64px; }
  .comment-body{ padding:16px 16px 14px; }
}
@media (max-width: 640px){
  .foot-main{ grid-template-columns:1fr; }
  .services, #blog .posts, .archive-posts{ grid-template-columns:1fr; }
  .hero{ padding:32px 0 24px; }
  .hero-actions, .cta-row{ flex-direction:column; align-items:stretch; }
  .hero-actions .btn, .cta-row .btn{ justify-content:center; min-height:44px; }
  .cta h2{ font-size:clamp(1.8rem, 8vw, 2.6rem); }
  .radar{ width:min(280px, 78vw); }
  h2{ margin-top:12px; }
  .label{ letter-spacing:.14em; }
  .search-form{ flex-direction:column; }
  .search-form input[type="submit"]{ min-height:44px; }
  .nav-links .page-numbers,
  .nav-links .page-numbers.dots{ min-width:44px; height:44px; }
  .foot-bar{ padding-bottom:max(20px, env(safe-area-inset-bottom, 0px)); }
  .svc .ico{ margin:14px 0 12px; }
}
