/* === Tokens === */
:root{
  --navy: #0b0f1e;
  --navy-2: #141b2d;
  --navy-3: #1a2336;
  --border: #1e2d4a;
  --border-soft: rgba(201,168,76,0.18);
  --gold: #c9a84c;
  --gold-light: #e8c96e;
  --gold-soft: rgba(201,168,76,0.12);
  --text: #f5f7ff;
  --text-2: #8892a4;
  --text-3: #5d6577;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --container: 1240px;
}

/* === Reset === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,system-ui,sans-serif;
  background:var(--navy);
  color:var(--text);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* === Background ambient (orbs + grid) === */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(800px 600px at 10% -10%, rgba(201,168,76,0.10), transparent 60%),
    radial-gradient(900px 700px at 95% 30%, rgba(201,168,76,0.06), transparent 65%),
    radial-gradient(700px 500px at 50% 110%, rgba(201,168,76,0.08), transparent 60%);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0.05;
  background-image:
    linear-gradient(to right, var(--gold) 1px, transparent 1px),
    linear-gradient(to bottom, var(--gold) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
}

/* === Container === */
.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
}

/* === Typography helpers === */
.eyebrow{
  display:inline-block;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--gold);
  font-size:14px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  margin-bottom:18px;
}
h1,h2,h3,h4{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  letter-spacing:-0.015em;
  line-height:1.1;
  color:var(--text);
}
h2{font-size:42px;margin-bottom:18px}
h3{font-size:20px;font-weight:700;letter-spacing:0}
.gold{color:var(--gold)}
.gold-light{color:var(--gold-light)}

/* === Buttons === */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 28px;
  border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif;
  font-weight:600;font-size:14px;
  letter-spacing:0.05em;text-transform:uppercase;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  cursor:pointer;
  white-space:nowrap;
}
.btn-primary{
  background:var(--gold);
  color:var(--navy);
  box-shadow:0 8px 24px rgba(201,168,76,0.25);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(201,168,76,0.35);background:var(--gold-light)}

/* === Footer legal (Política de Privacidade · Cookies · Config) === */
.footer-legal {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 12px 0 0;
  margin-top: 12px;
  border-top: 1px solid rgba(30,45,74,0.5);
  font-size: 12px;
  color: #8892a4;
  flex-wrap: wrap;
}
.footer-legal a, .footer-legal .cc-reopen-link {
  color: #8892a4;
  text-decoration: none;
  transition: color 0.2s ease;
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  padding: 0;
}
.footer-legal a:hover, .footer-legal .cc-reopen-link:hover { color: #c9a84c; }
.footer-legal .legal-sep { color: #4a5568; }

/* === Botão DESABILITADO (ex: WhatsApp "Em breve") === */
.btn.btn-disabled{
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
  background: rgba(136,146,164,0.06) !important;
  border-color: rgba(136,146,164,0.30) !important;
  color: #8892a4 !important;
}
.btn.btn-disabled::before, .btn.btn-disabled::after{ display: none !important; }
.badge-em-breve{
  margin-left: 8px;
  padding: 2px 8px;
  background: rgba(201,168,76,0.12);
  border: 1px solid rgba(201,168,76,0.35);
  border-radius: 999px;
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #c9a84c;
}

/* === Botão GENÉRICO com border-beam dourado (técnica transform:rotate) === */
.btn.beam-cta{
  background: rgba(201,168,76,0.06);
  color: var(--gold);
  border: 1px solid rgba(201,168,76,0.30);
  box-shadow: none;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.btn.beam-cta:hover{
  background: rgba(201,168,76,0.18);
  border-color: rgba(201,168,76,0.5);
  color: var(--gold-light);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(201,168,76,0.15);
}
/* Camada 1: conic-gradient que rotaciona (atrás do conteúdo) */
.btn.beam-cta::before{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width: 250%; height: 800%;
  transform: translate(-50%, -50%);
  background: conic-gradient(
    from 0deg,
    transparent 0%,
    transparent 78%,
    rgba(255,215,120,0.45) 82%,
    #ffd055 88%,
    #fff2a8 92%,
    #ffd055 96%,
    transparent 100%
  );
  animation: beamSpin 5s linear infinite;
  z-index: -2;
  pointer-events: none;
}
/* Camada 2: cobre o miolo, deixa só ~1.5px de moldura iluminada visível */
.btn.beam-cta::after{
  content:"";
  position:absolute;
  inset: 1.5px;
  background: var(--navy);   /* mesma cor de fundo da seção */
  border-radius: 7px;
  z-index: -1;
  pointer-events: none;
}
@keyframes beamSpin{
  to{ transform: translate(-50%, -50%) rotate(360deg); }
}

/* === Variante COMPACTA do beam-cta (só dimensões — pro botão do header) === */
.btn.header-cta{
  padding:12px 18px;
  font-size:11.5px;
  letter-spacing:0.06em;
}

/* Ícone dentro de botão beam-cta */
.btn.beam-cta svg{
  width:18px;height:18px;
  flex-shrink:0;
  vertical-align:middle;
  fill:currentColor;
}
.btn.beam-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.btn-ghost{
  background:transparent;
  color:var(--gold);
  border:1px solid rgba(201,168,76,0.5);
}
.btn-ghost:hover{background:var(--gold-soft);border-color:var(--gold)}

/* Botão "Área do Cliente" no header — discreto, com sinalização de link externo */
.btn.client-area{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  font-size:11.5px;
  font-weight:500;
  color:var(--text-2);
  background:rgba(255,255,255,0.025);
  border:1px solid rgba(255,255,255,0.08);
  letter-spacing:0.06em;
  transition: color .22s ease, background .22s ease, border-color .22s ease, transform .15s ease;
}
.btn.client-area:hover{
  color:var(--gold);
  background:rgba(201,168,76,0.08);
  border-color:rgba(201,168,76,0.35);
  transform:translateY(-1px);
}
.btn.client-area .icon-lock{
  width:13px;height:13px;
  stroke:currentColor;stroke-width:1.8;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
  flex-shrink:0;
}
.btn.client-area .icon-ext{
  width:10px;height:10px;
  stroke:currentColor;stroke-width:2;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
  opacity:0.55;
  flex-shrink:0;
  transition: opacity .22s ease, transform .22s ease;
}
.btn.client-area:hover .icon-ext{
  opacity:1;
  transform: translate(1px, -1px);  /* "saindo" da caixa, reforça que é link externo */
}
/* Estado encolhido (header scrolled) */
.site-header.scrolled .btn.client-area{
  padding:8px 14px;
  font-size:10px;
}
/* Mobile: esconde para não estourar o header */
@media (max-width: 980px){
  .btn.client-area{ display:none; }
}

/* === SELETOR DE IDIOMA (BR + EUA) === */
.lang-switcher{
  display:flex;
  flex-direction:column;       /* empilhadas verticalmente no estado normal */
  gap:4px;
  margin:0 2px;
}
.lang-flag{
  display:block;
  width:26px;
  height:18px;
  border-radius:3px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.15);
  opacity:0.55;
  transition: opacity .2s ease, transform .15s ease, border-color .2s ease, box-shadow .2s ease;
  cursor:pointer;
  background:transparent;
}
.lang-flag:hover{
  opacity:1;
  transform:scale(1.06);
  border-color:rgba(201,168,76,0.6);
}
.lang-flag.active{
  opacity:1;
  border-color:var(--gold);
  box-shadow:0 0 0 1px var(--gold), 0 0 8px rgba(201,168,76,0.4);
}
.lang-flag svg{
  width:100%;
  height:100%;
  display:block;
}
/* No scrolled: bandeiras ficam lado a lado (horizontal) */
.site-header.scrolled .lang-switcher{
  flex-direction:row;
}
/* Mobile: esconde junto com o client-area */
@media (max-width: 980px){
  .lang-switcher{ display:none; }
}

/* ============================================== */
/* HEADER B (pílula M2 em fundo navy)            */
/* ============================================== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,15,30,0.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
/* Estado "scrolled": header encolhido (shrinking header) */
.site-header.scrolled{
  background:rgba(11,15,30,0.96);
  border-bottom-color:rgba(201,168,76,0.25);
  box-shadow:0 8px 28px rgba(0,0,0,0.45);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 0;
  gap:32px;
  transition: padding .3s ease;
}
.site-header.scrolled .header-inner{ padding:6px 0; }

/* Pílula M2 */
.logo-pill{
  background:#ffffff;
  border-radius:10px;
  padding:10px 18px;
  box-shadow:0 12px 40px rgba(0,0,0,0.35);
  flex-shrink:0;
  transition: padding .3s ease, border-radius .3s ease;
}
.logo-pill img{
  height:54px;width:auto;
  transition: height .3s ease;
  position:relative;       /* fica acima das camadas do beam */
  z-index:1;
}
/* Border-beam dourado na pílula da logo (apenas no header) */
.site-header .logo-pill{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:transparent;     /* IMPORTANTE: remove o fundo branco da pílula —
                                 senão ele cobre o ::before (z-index -2) e o beam fica invisível.
                                 O ::after (z-index -1, fundo #fff) passa a ser o "miolo branco". */
}
.site-header .logo-pill::before{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:250%; height:800%;
  transform:translate(-50%,-50%);
  background: conic-gradient(
    from 0deg,
    transparent 0%,
    transparent 78%,
    rgba(255,215,120,0.45) 82%,
    #ffd055 88%,
    #fff2a8 92%,
    #ffd055 96%,
    transparent 100%
  );
  animation: beamSpin 5s linear infinite;
  z-index:-2;
  pointer-events:none;
}
.site-header .logo-pill::after{
  content:"";
  position:absolute;
  inset:1.5px;
  background:#0b0f1e;       /* navy do padrão do site (era #ffffff) */
  border-radius:8.5px;       /* 10px - 1.5px (concêntrico ao parent) */
  z-index:-1;
  pointer-events:none;
  transition: border-radius .3s ease;
}
/* No estado scrolled, ajusta o radius do ::after pra acompanhar a pílula encolhida */
.site-header.scrolled .logo-pill::after{
  border-radius:5.5px;       /* 7px - 1.5px */
}
/* Encolhe logo e pílula no scroll */
.site-header.scrolled .logo-pill{ padding:5px 11px; border-radius:7px; }
.site-header.scrolled .logo-pill img{ height:32px; }
/* Encolhe nav e CTA no scroll */
.site-header.scrolled .main-nav a{ padding:6px 11px; font-size:10px; letter-spacing:0.08em; }
.site-header.scrolled .main-nav{ padding:4px; }
.site-header.scrolled .btn.header-cta{ padding:8px 14px; font-size:10px; }
.main-nav a, .btn.header-cta{ transition: padding .25s ease, font-size .25s ease, background .22s ease, color .22s ease; }

/* Animação de entrada da logo — surge grande e diminui (zoom-out + fade-in) */
.logo-animado{
  opacity: 0;
  transform: scale(1.6);
  transform-origin: center center;
  animation: surgirGrande 1.5s ease-out forwards;
}
@keyframes surgirGrande{
  to{
    opacity: 1;
    transform: scale(1);
  }
}
/* Nav em pílula (estilo "segmented") com destaque no hover/active */
.main-nav{
  display:flex;
  align-items:center;
  gap:4px;
  padding:6px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:999px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.main-nav a{
  display:inline-block;
  padding:10px 18px;
  font-family:'Inter',sans-serif;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.10em;
  text-transform:uppercase;
  color:var(--text-2);
  border-radius:999px;
  transition: background .22s ease, color .22s ease, transform .15s ease;
  position:relative;
  white-space:nowrap;
}
.main-nav a:hover,
.main-nav a:focus-visible{
  background:rgba(201,168,76,0.14);
  color:var(--gold);
  outline:none;
}
.main-nav a.active{
  background:var(--gold);
  color:var(--navy);
  box-shadow:0 6px 18px rgba(201,168,76,0.32);
}
.main-nav a.active:hover{
  background:var(--gold-light);
  color:var(--navy);
}
.header-cta{flex-shrink:0}

/* ============================================== */
/* HERO                                           */
/* ============================================== */
.hero{
  padding:80px 0 100px;
  position:relative;
  overflow:hidden;
  min-height:620px;
  display:flex;
  align-items:center;
}
/* Canvas do fundo animado (plexus) */
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
  /* máscara: foco no canto superior-esquerdo, esvanecendo nas bordas */
  mask-image: radial-gradient(ellipse at 30% 25%, black 20%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 30% 25%, black 20%, transparent 75%);
}
/* Grid 2 colunas: robô | texto */
.hero .container{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1fr 1.05fr;
  gap:0;
  align-items:center;
  width:100%;
}
/* Robô (imagem futurista gerada pelo Higgsfield) */
.hero-robot{
  position:relative;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  overflow:visible;            /* deixa a luz vazar para fora do container */
  isolation:isolate;
}
/* HALO DE LUZ DOURADA — emana POR TRÁS do robô (extrapola para fora) */
.hero-robot::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  width:140%;                  /* MAIOR que o robô — luz vaza pelas bordas */
  height:140%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 35%,
      rgba(255,225,140,0.95) 0%,
      rgba(255,200,90,0.75)  10%,
      rgba(201,168,76,0.50)  22%,
      rgba(201,168,76,0.28)  40%,
      rgba(201,168,76,0.10)  62%,
      transparent            82%);
  filter: blur(36px);
  animation: robotGlow 6s ease-in-out infinite;
}
.hero-robot img{
  position:relative;
  z-index:1;                   /* imagem fica na frente do halo */
}
@keyframes robotGlow{
  0%, 100% {
    opacity:0.85;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity:1;
    transform: translate(-50%, -50%) scale(1.12);
  }
}
.hero-robot img{
  width:100%;
  max-width:580px;
  height:auto;
  display:block;
  /* fade na borda direita p/ fundir com o navy + fade leve no topo/base */
  mask-image:
    linear-gradient(to right, black 65%, transparent 98%),
    linear-gradient(to bottom, transparent 0%, black 8%, black 92%, transparent 100%);
  -webkit-mask-image:
    linear-gradient(to right, black 65%, transparent 98%),
    linear-gradient(to bottom, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-composite: intersect;
  -webkit-mask-composite: source-in;
  /* respiração lenta (zoom muito sutil em loop) */
  animation: robotBreath 8s ease-in-out infinite;
}
@keyframes robotBreath{
  0%,100%{ transform: scale(1); }
  50%    { transform: scale(1.025); }
}
.hero-content{
  max-width:none;
  margin-left:-170px; /* puxa o texto p/ perto da face do robô (reduz o gap pela metade) */
  position:relative;
  z-index:2;          /* garante que o texto fique acima da área escura do robô */
}
.hero h1{
  font-size:64px;font-weight:800;
  letter-spacing:-0.02em;line-height:1.05;
  margin-bottom:24px;
}
.hero .lead{
  font-size:19px;color:var(--text-2);
  max-width:640px;margin-bottom:40px;
  line-height:1.6;
}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:6px 14px;
  background:var(--gold-soft);
  border:1px solid rgba(201,168,76,0.35);
  border-radius:999px;
  font-size:12px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--gold);
  font-weight:500;margin-bottom:32px;
}
.hero-badge::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 12px var(--gold);
}

/* ============================================== */
/* FAIXA DE PARCEIROS (marquee L→R)               */
/* ============================================== */
.partners{
  padding:42px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:rgba(20,27,45,0.5);
  overflow:hidden;
}
.partners-eyebrow{
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--gold);
  font-size:13px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  margin-bottom:26px;
  opacity:0.85;
}
.marquee{
  display:flex;
  overflow:hidden;
  mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.marquee-track{
  display:flex;
  align-items:center;
  gap:60px;
  flex-shrink:0;
  padding-right:60px; /* manter gap entre fim e início duplicado */
  animation: marquee 50s linear infinite;
  will-change: transform;
}
@keyframes marquee{
  from { transform: translateX(-50%); }
  to   { transform: translateX(0%); }
}
.marquee:hover .marquee-track{ animation-play-state: paused; }

.partner{
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:60px;       /* mantém altura uniforme com/sem legenda */
}
.partner-logo{
  height:36px;
  width:auto;
  max-width:170px;
  display:block;
  object-fit:contain;
  filter: brightness(0) invert(1);     /* normaliza para branco monocromático */
  opacity:0.55;
  transition: opacity .25s ease, transform .25s ease;
  user-select:none;
  -webkit-user-drag:none;
}
.partner-name{
  color:var(--text-2);
  font-family:'Inter',sans-serif;
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  opacity:0.55;
  transition: opacity .25s ease, color .25s ease;
  user-select:none;
  white-space:nowrap;
  line-height:1;
}
.partner:hover .partner-logo{
  opacity:1;
  transform:translateY(-1px);
}
.partner:hover .partner-name{
  opacity:1;
  color:var(--gold);
}

/* ============================================== */
/* SECTION HEAD (reusable)                        */
/* ============================================== */
.section-head{text-align:center;max-width:680px;margin:0 auto 60px}
.section-head h2{font-size:42px}
.section-head p{color:var(--text-2);font-size:16px;margin-top:16px}

/* ============================================== */
/* ÁREAS DE ATUAÇÃO                               */
/* ============================================== */
.areas{padding:110px 0}
.areas-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;
}
.area-card{
  background:var(--navy-2);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:32px 28px;
  position:relative;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  overflow:hidden;
}
.area-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(201,168,76,0.0), rgba(201,168,76,0.07));
  opacity:0;transition:opacity .25s ease;
  pointer-events:none;
}
.area-card:hover{
  transform:translateY(-4px);
  border-color:rgba(201,168,76,0.35);
  box-shadow:0 16px 40px rgba(0,0,0,0.35);
}
.area-card:hover::before{opacity:1}
.area-icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:var(--gold-soft);
  border:1px solid rgba(201,168,76,0.30);
  border-radius:var(--radius-sm);
  color:var(--gold);
  margin-bottom:22px;
}
.area-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;fill:none}
.area-card h3{color:var(--text);margin-bottom:10px;font-size:18px}
.area-card p{color:var(--text-2);font-size:14.5px;line-height:1.55}

/* ============================================== */
/* SOBRE                                          */
/* ============================================== */
.sobre{padding:110px 0;background:rgba(20,27,45,0.4)}
.sobre-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;align-items:center;
}
.sobre h2{font-size:42px;margin-bottom:24px}
.sobre p{color:var(--text-2);font-size:16px;margin-bottom:18px;line-height:1.7}
.sobre .quote{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--gold);
  font-size:22px;
  border-left:2px solid var(--gold);
  padding-left:20px;
  margin:28px 0;
  line-height:1.4;
}
.sobre .quote cite{
  display:block;
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--text-2);
  margin-top:12px;
}
/* ====================================== */
/* WORKFLOW (estilo n8n) DOS VALORES      */
/* ====================================== */
.workflow{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  width:100%;
  max-width:340px;
  margin:0 auto;
  padding:24px 16px;
  position:relative;
  /* fundo pontilhado tipo canvas do n8n */
  background-image: radial-gradient(circle, rgba(201,168,76,0.18) 1px, transparent 1px);
  background-size: 22px 22px;
  background-position: 0 0;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.04);
  isolation:isolate;
  overflow:visible;
}
/* Halo dourado de fundo (luz ambiente atrás do workflow inteiro) */
.workflow::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  width:130%;
  height:110%;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 50%,
      rgba(255,215,120,0.30) 0%,
      rgba(201,168,76,0.18) 20%,
      rgba(201,168,76,0.08) 45%,
      transparent           75%);
  filter: blur(40px);
  animation: workflowAmbient 7s ease-in-out infinite;
}
@keyframes workflowAmbient{
  0%, 100% { opacity:0.7;  transform: translate(-50%, -50%) scale(1); }
  50%      { opacity:1;    transform: translate(-50%, -50%) scale(1.05); }
}

/* Cada nó (estilo n8n) */
.node{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  background: var(--navy-2);
  border: 1.5px solid var(--c, var(--gold));
  border-radius: 10px;
  padding: 12px 14px;
  position: relative;
  z-index:2;
  box-shadow: 0 6px 18px rgba(0,0,0,0.40);
  transition: transform .2s ease, box-shadow .2s ease;
}
.node:hover{
  transform:translateY(-2px);
  box-shadow: 0 12px 28px rgba(201,168,76,0.18);
}
.node-icon{
  width:34px; height:34px;
  display:flex;align-items:center;justify-content:center;
  background: var(--c-bg, rgba(201,168,76,0.12));
  border-radius: 8px;
  color: var(--c, var(--gold));
  flex-shrink:0;
  border: 1px solid rgba(255,255,255,0.04);
}
.node-icon svg{
  width:18px;height:18px;
  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.node-body{
  display:flex;flex-direction:column;
  line-height:1.2;
}
.node-label{
  color: var(--text-2);
  font-size: 9px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  font-family: 'Inter',sans-serif;
  font-weight: 600;
  margin-bottom: 3px;
  opacity:0.85;
}
.node-title{
  color: var(--text);
  font-family: 'Inter',sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}

/* Handles laterais (input/output dots, como no n8n) */
.node::before, .node::after{
  content:"";
  position:absolute;
  width:9px; height:9px;
  border-radius:50%;
  background: var(--navy);
  border: 1.5px solid var(--c, var(--gold));
  top:50%;
  transform: translateY(-50%);
  z-index:3;
}
.node::before{ left:-6px; }
.node::after { right:-6px; }
.node.is-trigger::before{ display:none; }
.node.is-output::after { display:none; }

/* Conexão (linha) entre nós com pulso viajando */
.node-link{
  position:relative;
  width:2px;
  height:28px;
  background: linear-gradient(to bottom, rgba(201,168,76,0.55), rgba(201,168,76,0.25));
  z-index:1;
  overflow:visible;
}
.node-link::after{
  content:"";
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  width:8px; height:8px;
  border-radius:50%;
  background: #fff2a8;
  /* glow MUITO maior — ilumina o fundo conforme a bolinha desce */
  box-shadow:
    0 0 8px   #fff2a8,
    0 0 20px  rgba(255,215,120,0.95),
    0 0 45px  rgba(201,168,76,0.8),
    0 0 90px  rgba(201,168,76,0.55),
    0 0 140px rgba(201,168,76,0.30);
  animation: linkPulse 2.4s linear infinite;
  animation-delay: var(--d, 0s);
}
@keyframes linkPulse{
  0%   { top:-4px; opacity:0; }
  12%  { opacity:1; }
  88%  { opacity:1; }
  100% { top:calc(100% + 4px); opacity:0; }
}

/* Título e badge "live" do workflow */
.workflow-head{
  display:flex;align-items:center;gap:10px;
  margin-bottom:14px;
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:600;
  color: var(--text-2);
}
.workflow-head .live-dot{
  width:8px;height:8px;border-radius:50%;
  background:#4ade80;
  box-shadow: 0 0 10px #4ade80, 0 0 18px rgba(74,222,128,0.6);
  animation: livePulse 1.6s ease-in-out infinite;
}
@keyframes livePulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%    { opacity:0.6; transform:scale(0.85); }
}

@media (max-width: 980px){
  .workflow{ max-width:none; }
}

/* (estilos antigos do diagrama circular ficam abaixo, inertes) */
/* ====================================== */
/* DIAGRAMA CIRCULAR DOS VALORES (animado) [ANTIGO - inerte] */
/* ====================================== */
.values-diagram{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:1fr 1fr 1fr;
  width:100%;
  max-width:520px;
  aspect-ratio:1/1;
  margin:0 auto;
  padding:0;
}

/* Anel pontilhado orbital, gira lentamente em volta do diagrama */
.values-ring{
  position:absolute;
  top:50%; left:50%;
  width:82%;
  aspect-ratio:1/1;
  margin-top:-41%; margin-left:-41%;
  border-radius:50%;
  border:1px dashed rgba(201,168,76,0.28);
  animation: ringRotate 60s linear infinite;
  z-index:0;
  pointer-events:none;
}
.values-ring::after{
  content:"";
  position:absolute;
  inset:-14px;
  border-radius:50%;
  border:1px solid rgba(201,168,76,0.10);
}
@keyframes ringRotate{
  to{ transform: rotate(360deg); }
}

/* Eixos em cruz (vertical + horizontal) com gradient dourado */
.values-cross{
  position:absolute;
  top:50%; left:50%;
  width:60%; aspect-ratio:1/1;
  margin-top:-30%; margin-left:-30%;
  pointer-events:none;
  z-index:1;
}
.values-cross::before,
.values-cross::after{
  content:"";
  position:absolute;
  background:linear-gradient(var(--ax,to bottom),
    transparent 0%,
    rgba(201,168,76,0.60) 18%,
    rgba(201,168,76,0.60) 82%,
    transparent 100%);
}
.values-cross::before{ /* vertical */
  --ax: to bottom;
  left:50%; top:0; bottom:0;
  width:1px; transform:translateX(-50%);
}
.values-cross::after{ /* horizontal */
  --ax: to right;
  top:50%; left:0; right:0;
  height:1px; transform:translateY(-50%);
}

/* Pulsos viajando ao longo dos eixos */
.pulse{
  position:absolute;
  width:8px; height:8px;
  border-radius:50%;
  background:var(--gold-light);
  box-shadow:0 0 12px var(--gold), 0 0 22px rgba(201,168,76,0.65);
  z-index:2;
  pointer-events:none;
}
.pulse-v{ left:50%; transform:translateX(-50%); animation: pulseV 4.5s linear infinite; }
.pulse-h{ top:50%; transform:translateY(-50%); animation: pulseH 4.5s linear infinite; animation-delay:2.25s; }
@keyframes pulseV{
  0%   { top: 18%; opacity:0; }
  12%  { opacity:1; }
  50%  { top: 82%; opacity:1; }
  62%  { opacity:0; }
  100% { top: 82%; opacity:0; }
}
@keyframes pulseH{
  0%   { left: 18%; opacity:0; }
  12%  { opacity:1; }
  50%  { left: 82%; opacity:1; }
  62%  { opacity:0; }
  100% { left: 82%; opacity:0; }
}

/* Núcleo central (símbolo dourado luminoso) */
.values-center{
  grid-column:2; grid-row:2;
  align-self:center; justify-self:center;
  position:relative;
  width:110px; height:110px;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, var(--gold-light), var(--gold) 55%, rgba(201,168,76,0.25) 100%);
  display:flex; align-items:center; justify-content:center;
  z-index:3;
  box-shadow:
    0 0 50px rgba(201,168,76,0.45),
    inset 0 0 22px rgba(255,255,255,0.20);
  animation: centerPulse 3.5s ease-in-out infinite;
}
@keyframes centerPulse{
  0%,100%{ box-shadow: 0 0 50px rgba(201,168,76,0.45), inset 0 0 22px rgba(255,255,255,0.20); }
  50%    { box-shadow: 0 0 90px rgba(201,168,76,0.75), inset 0 0 32px rgba(255,255,255,0.30); }
}
.values-center span{
  font-family:'Cinzel',serif;
  font-weight:800;
  font-size:38px;
  color:var(--navy);
  letter-spacing:-0.02em;
  line-height:1;
}

/* Cards orbitais (4 valores) */
.value-orbit{
  background:var(--navy-2);
  border:1px solid var(--border);
  border-radius:10px;
  padding:13px 14px;
  position:relative;
  z-index:2;
  text-align:center;
  width:175px;
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
  box-shadow: 0 10px 26px rgba(0,0,0,0.40);
  animation: orbitFloat 5.5s ease-in-out infinite;
}
.value-orbit:hover{
  border-color:var(--gold);
  box-shadow: 0 16px 36px rgba(201,168,76,0.22);
  transform: translateY(-3px) scale(1.04);
}
.value-orbit h4{
  color:var(--gold);
  font-family:'Inter',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  margin:0 0 6px;
}
.value-orbit p{
  color:var(--text-2);
  font-size:12px;
  line-height:1.45;
  margin:0;
}
.value-orbit.top    { grid-column:2; grid-row:1; align-self:start;  justify-self:center; }
.value-orbit.right  { grid-column:3; grid-row:2; align-self:center; justify-self:end; }
.value-orbit.bottom { grid-column:2; grid-row:3; align-self:end;    justify-self:center; }
.value-orbit.left   { grid-column:1; grid-row:2; align-self:center; justify-self:start; }
.value-orbit.right  { animation-delay: 1.4s; }
.value-orbit.bottom { animation-delay: 2.7s; }
.value-orbit.left   { animation-delay: 4.0s; }
@keyframes orbitFloat{
  0%,100%{ transform: translateY(0); }
  50%    { transform: translateY(-6px); }
}

/* Responsivo: vira lista vertical em telas estreitas */
@media (max-width: 980px){
  .values-diagram{
    display:flex;
    flex-direction:column;
    gap:12px;
    aspect-ratio:auto;
    max-width:none;
    padding:20px 0;
  }
  .values-center, .values-ring, .values-cross, .pulse{ display:none; }
  .value-orbit{ animation:none; width:100%; }
}

/* ============================================== */
/* EBOOK (lead magnet)                            */
/* ============================================== */
.ebook{
  padding:110px 0;
  position:relative;
  background:
    radial-gradient(600px 400px at 20% 50%, rgba(201,168,76,0.10), transparent 65%),
    radial-gradient(500px 400px at 80% 50%, rgba(201,168,76,0.05), transparent 65%),
    var(--navy);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  overflow:hidden;
}
.ebook-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:60px;
  align-items:center;
  max-width:1180px;
  margin:0 auto;
}
/* === Mock 3D dos iPhones (efeito leque) === */
.iphones-stage{
  position:relative;
  height:480px;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:visible;            /* deixa a luz vazar para fora do container */
  isolation:isolate;
}
/* HALO DE LUZ DOURADA — emana POR TRÁS dos iPhones (mesmo padrão do robô) */
.iphones-stage::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  width:130%;                  /* envolve os 3 iPhones e vaza pelas bordas */
  height:130%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 50%,
      rgba(255,225,140,0.90) 0%,
      rgba(255,200,90,0.70)  10%,
      rgba(201,168,76,0.50)  22%,
      rgba(201,168,76,0.28)  40%,
      rgba(201,168,76,0.10)  62%,
      transparent            82%);
  filter: blur(40px);
  animation: iphonesGlow 6s ease-in-out infinite;
}
@keyframes iphonesGlow{
  0%, 100% {
    opacity:0.85;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity:1;
    transform: translate(-50%, -50%) scale(1.10);
  }
}
.iphone{
  width:200px;
  height:400px;
  background:linear-gradient(150deg, #2a2f3d 0%, #14171f 50%, #0a0c12 100%);
  border-radius:36px;
  padding:8px;
  position:relative;
  box-shadow:
    0 30px 60px rgba(0,0,0,0.55),
    0 0 0 1px rgba(255,255,255,0.04),
    inset 0 0 0 1px rgba(255,255,255,0.06);
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1);
}
.iphone::before{ /* Dynamic Island / notch */
  content:"";
  position:absolute;
  top:14px;left:50%;
  transform:translateX(-50%);
  width:68px;height:18px;
  background:#000;
  border-radius:12px;
  z-index:3;
}
.iphone::after{ /* highlight no chassi */
  content:"";
  position:absolute;
  inset:1px;
  border-radius:35px;
  background:linear-gradient(180deg, rgba(255,255,255,0.04), transparent 30%);
  pointer-events:none;
}
.iphone-screen{
  position:relative;
  width:100%;height:100%;
  border-radius:28px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:48px 16px 20px;
  text-align:center;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
/* Faixa navy no topo de cada iPhone, abrigando a logo institucional */
.iphone-logo{
  background:#0b0f1e;                            /* navy do padrão */
  width:calc(100% + 32px);                       /* compensa padding lateral 16px da .iphone-screen */
  margin:-48px -16px 0;                          /* sobe pra borda e expande lateralmente */
  padding:44px 12px 18px;                        /* topo 44px = logo abaixo da Dynamic Island (que termina em ~32px) */
  border-bottom:1px solid rgba(201,168,76,0.30); /* linha dourada sutil delimitando */
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.iphone-logo img{
  height:30px;
  width:auto;
  display:block;
}
/* gradient/cor diferente para cada ebook */
.iphone-1 .iphone-screen{
  background:
    radial-gradient(circle at 50% 0%, rgba(201,168,76,0.30), transparent 60%),
    linear-gradient(180deg, #1a2336 0%, #0b0f1e 100%);
}
.iphone-2 .iphone-screen{
  background:
    radial-gradient(circle at 50% 30%, rgba(232,201,110,0.28), transparent 60%),
    linear-gradient(180deg, #14223a 0%, #0a1525 100%);
}
.iphone-3 .iphone-screen{
  background:
    radial-gradient(circle at 50% 0%, rgba(201,168,76,0.22), transparent 60%),
    linear-gradient(180deg, #1d1a32 0%, #0d0a1a 100%);
}
.iphone-4 .iphone-screen{
  background:
    radial-gradient(circle at 50% 30%, rgba(160,200,140,0.20), transparent 60%),
    linear-gradient(180deg, #14241d 0%, #0a1410 100%);
}
.iphone-eyebrow{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--gold);
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.iphone-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  color:var(--text);
  font-size:17px;
  line-height:1.15;
  letter-spacing:-0.01em;
}
.iphone-divider{
  width:32px;height:1px;
  background:var(--gold);
  margin:14px auto;
}
.iphone-sub{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--gold-light);
  font-size:12.5px;
  line-height:1.4;
  margin-bottom:10px;
}
.iphone-foot{
  font-family:'Inter',sans-serif;
  font-size:8px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--text-2);
  padding-top:10px;
  border-top:1px solid rgba(201,168,76,0.22);
  width:100%;
}
/* === CARROSSEL ROTATIVO (4 posições) === */
.iphone{
  position:absolute;
  top:50%; left:50%;
  transition:
    transform .9s cubic-bezier(0.22, 1, 0.36, 1),
    opacity .9s ease,
    z-index 0s linear .45s;
}
/* Posição CENTRO: à frente, escala maior, sem rotação */
.iphone.pos-center{
  transform: translate(-50%, -50%) translateY(-12px) scale(1.04);
  z-index:5;
  opacity:1;
}
/* Posição DIREITA: lateral, inclinado, menor */
.iphone.pos-right{
  transform: translate(calc(-50% + 130px), -50%) translateY(12px) rotate(12deg) scale(0.90);
  z-index:3;
  opacity:0.92;
}
/* Posição ESQUERDA: lateral, inclinado oposto, menor */
.iphone.pos-left{
  transform: translate(calc(-50% - 130px), -50%) translateY(12px) rotate(-12deg) scale(0.90);
  z-index:3;
  opacity:0.92;
}
/* Posição BACK: atrás do centro, escondido (sai e volta por aqui) */
.iphone.pos-back{
  transform: translate(-50%, -50%) scale(0.7);
  z-index:1;
  opacity:0;
}

/* === Cores das telas (4 ebooks distintos) === */

/* Conteúdo da direita */
.ebook-content{}
.ebook-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--gold);color:var(--navy);
  padding:7px 16px;border-radius:999px;
  font-family:'Inter',sans-serif;
  font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
  font-weight:700;margin-bottom:22px;
  box-shadow:0 8px 24px rgba(201,168,76,0.30);
}
.ebook-badge::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--navy);
}
.ebook h2{font-size:38px;line-height:1.1;margin-bottom:18px}
.ebook .lead{color:var(--text-2);font-size:16px;line-height:1.7;margin-bottom:8px}
.ebook ul{
  list-style:none;
  margin:24px 0 32px;
}
.ebook ul li{
  color:var(--text-2);
  font-size:14.5px;
  line-height:1.55;
  padding-left:26px;
  position:relative;
  margin-bottom:10px;
}
.ebook ul li::before{
  content:"";
  position:absolute;left:0;top:8px;
  width:14px;height:14px;
  background:var(--gold-soft);
  border:1px solid rgba(201,168,76,0.55);
  border-radius:50%;
}
.ebook ul li::after{
  content:"";
  position:absolute;left:4px;top:11px;
  width:5px;height:8px;
  border-right:2px solid var(--gold);
  border-bottom:2px solid var(--gold);
  transform: rotate(45deg);
}
.ebook-cta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ebook-cta-row .free-note{
  color:var(--text-2);
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-family:'Inter',sans-serif;
}
.ebook-cta-row .free-note strong{color:var(--gold);font-weight:600}

/* ============================================== */
/* ARTIGOS / BLOG                                 */
/* ============================================== */
.artigos{padding:110px 0}
/* Marquee horizontal dos cards de artigo (L→R) */
.artigos-marquee{
  overflow:hidden;
  margin:0 -32px;                          /* sangra até a borda do container p/ mascarar bem */
  padding:8px 0;                           /* espaço p/ a sombra do hover */
  mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}
.artigos-track{
  display:flex;
  align-items:stretch;
  gap:24px;
  width:max-content;
  padding-left:32px;                       /* compensa o margin negativo do wrapper */
  animation: artigosMarquee 55s linear infinite;
  will-change: transform;
}
.artigos-marquee:hover .artigos-track{ animation-play-state: paused; }
@keyframes artigosMarquee{
  from { transform: translateX(-50%); }
  to   { transform: translateX(0%); }
}
.artigo-card{
  background:var(--navy-2);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  width:360px;                             /* largura fixa para uniformidade */
  flex-shrink:0;
}
.artigo-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,0.35)}
.artigo-thumb{
  height:180px;
  background:linear-gradient(135deg, var(--navy-3), var(--navy-2));
  position:relative;
  border-bottom:1px solid var(--border);
}
.artigo-thumb::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 60% 40%, rgba(201,168,76,0.18), transparent 60%);
}
.artigo-body{padding:24px 26px;display:flex;flex-direction:column;flex:1}
.artigo-cat{
  display:inline-block;
  font-size:10px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:10px;
}
.artigo-card h3{font-size:18px;margin-bottom:10px;line-height:1.3}
.artigo-card p{color:var(--text-2);font-size:14px;margin-bottom:18px;flex:1}
.artigo-link{
  color:var(--gold);font-size:13px;font-weight:600;
  letter-spacing:0.06em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px;
  margin-top:auto;
}
.artigo-link:hover{color:var(--gold-light)}
.artigos-foot{text-align:center;margin-top:50px}

/* ============================================== */
/* CTA / CONTATO                                  */
/* ============================================== */
.contato{
  padding:110px 0;
  text-align:center;
  position:relative;
  background:
    radial-gradient(600px 400px at 50% 50%, rgba(201,168,76,0.12), transparent 65%),
    var(--navy);
}
.contato h2{font-size:46px;margin-bottom:22px;max-width:740px;margin-left:auto;margin-right:auto}
.contato p{color:var(--text-2);font-size:17px;max-width:560px;margin:0 auto 36px;line-height:1.6}
.contato-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================== */
/* FOOTER                                         */
/* ============================================== */
.site-footer{
  background:#06091a;
  border-top:1px solid var(--border);
  padding:60px 0 30px;
  margin-top:80px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:40px;margin-bottom:50px;
}
.footer-brand .logo-pill{display:inline-block;margin-bottom:18px;background:transparent;box-shadow:none;padding:0}
.footer-brand .logo-pill img{height:64px;width:auto}
.footer-brand p{color:var(--text-2);font-size:13px;line-height:1.6}

/* Citação institucional com border-beam dourado */
.footer-quote{
  margin:24px 0 0;
  padding:18px 20px;
  background:rgba(20,27,45,0.55);
  border:1px solid rgba(201,168,76,0.22);
  border-radius:8px;
  display:flex;
  gap:16px;
  align-items:center;
  position:relative;
  isolation:isolate;
}
.footer-quote > *{
  position:relative;
  z-index:2;                     /* conteúdo fica acima do beam */
}
.footer-quote::before{
  content:"\201C";               /* aspas decorativas */
  position:absolute;
  top:-12px;
  left:14px;
  font-family:'Cormorant Garamond',serif;
  font-size:38px;
  color:var(--gold);
  background:#06091a;
  padding:0 6px;
  line-height:1;
  z-index:3;
}
/* BORDER-BEAM: linha dourada percorrendo as bordas em loop */
.footer-quote::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:8px;
  padding:1.5px;                 /* espessura do beam */
  background:conic-gradient(
    from var(--beam-angle, 0deg),
    transparent 0deg,
    transparent 270deg,
    rgba(255,215,120,0.45) 300deg,
    #ffd055 325deg,
    #fff2a8 342deg,
    #ffd055 352deg,
    transparent 360deg
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events:none;
  z-index:1;
  animation: borderBeam 5s linear infinite;
}
@property --beam-angle{
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes borderBeam{
  to{ --beam-angle: 360deg; }
}
.footer-quote .quote-text{
  flex:1;
  color:var(--text-2);
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:17px;
  line-height:1.55;
  margin:0;
}
.footer-quote .quote-text cite{
  display:block;
  margin-top:14px;
  font-style:normal;
  font-size:12px;
  font-family:'Inter',sans-serif;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
}
.footer-quote .quote-flag{
  flex-shrink:0;
  width:54px;
}
.footer-quote .quote-flag svg{
  width:100%;
  height:auto;
  display:block;
  border-radius:3px;
  box-shadow:0 4px 12px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.06);
}
.footer-col h4{
  font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:18px;
  font-family:'Inter',sans-serif;
}
.footer-col a, .footer-col p{
  display:block;color:var(--text-2);
  font-size:13.5px;margin-bottom:10px;line-height:1.5;
  transition:color .2s ease;
}
.footer-col a:hover{color:var(--gold)}

/* Links de mapas no contato (Apple/Google/Waze) */
.maps-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:14px;
}
.maps-links a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  background:rgba(201,168,76,0.08);
  border:1px solid rgba(201,168,76,0.28);
  border-radius:6px;
  font-size:11px;
  font-weight:500;
  letter-spacing:0.03em;
  color:var(--text-2);
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;
  margin:0;
}
.maps-links a:hover{
  background:rgba(201,168,76,0.18);
  border-color:var(--gold);
  color:var(--gold);
  transform:translateY(-1px);
}
.maps-links svg{
  width:13px;
  height:13px;
  stroke:currentColor;
  stroke-width:1.6;
  fill:none;
  flex-shrink:0;
}
.footer-bottom{
  border-top:1px solid var(--border);
  padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:var(--text-3);
  letter-spacing:0.04em;
}

/* ============================================== */
/* RESPONSIVE (básico para preview)               */
/* ============================================== */
@media (max-width: 980px){
  .hero h1{font-size:42px}
  .hero{padding:60px 0 80px;min-height:auto}
  .hero .container{grid-template-columns:1fr;gap:24px}
  .hero-robot{display:none} /* em mobile o robô vai embora para liberar espaço ao texto */
  .hero-content{margin-left:0}  /* reset do margin negativo (não há robô para "perto") */
  .metrics-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .sobre-grid{grid-template-columns:1fr;gap:40px}
  .artigos-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .main-nav{display:none}
  h2{font-size:32px}
}
@media (max-width: 600px){
  .container{padding:0 20px}
  .hero h1{font-size:34px}
  .metric strong{font-size:36px}
  .header-cta{display:none}
  .footer-grid{grid-template-columns:1fr}
}

/* ============================================== */
/* DEV BANNER (remover na versão final)           */
/* ============================================== */
.dev-banner{
  position:fixed;bottom:14px;right:14px;z-index:1000;
  background:rgba(20,27,45,0.95);
  backdrop-filter:blur(8px);
  border:1px solid var(--border);
  border-radius:8px;padding:10px 14px;
  font-size:11px;color:var(--text-2);
  letter-spacing:0.05em;
  box-shadow:0 12px 32px rgba(0,0,0,0.5);
}
.dev-banner strong{color:var(--gold);font-family:'Cormorant Garamond',serif;font-style:italic}

/* ============================================== */
/* PREVIEW RESPONSIVO (botão flutuante + overlay) */
/* ============================================== */
.responsive-toggle{
  position:fixed;bottom:14px;left:14px;z-index:1000;
  background:var(--gold);color:var(--navy);
  border:none;padding:11px 18px;
  border-radius:8px;
  font-family:'Inter',sans-serif;
  font-weight:600;font-size:12px;
  letter-spacing:0.08em;text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 12px 32px rgba(201,168,76,0.35);
  display:inline-flex;align-items:center;gap:8px;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.responsive-toggle:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 16px 40px rgba(201,168,76,0.5)}

.responsive-stage{
  position:fixed;inset:0;
  background:#06091a;
  z-index:9999;
  display:none;
  flex-direction:column;
}
.responsive-stage.open{display:flex}

.stage-controls{
  display:flex;align-items:center;gap:18px;
  padding:14px 20px;
  background:#0e1426;
  border-bottom:1px solid #1e2d4a;
}
.stage-title{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  color:var(--gold);font-size:18px;font-weight:400;
  margin-right:auto;
}
.stage-sizes{display:flex;gap:6px;flex-wrap:wrap}
.stage-sizes button{
  background:transparent;color:#8892a4;
  border:1px solid #2a3550;
  padding:7px 12px;border-radius:6px;
  cursor:pointer;
  font-family:'Inter',sans-serif;font-weight:500;font-size:11px;
  letter-spacing:0.08em;text-transform:uppercase;
  transition:all .15s ease;
}
.stage-sizes button:hover{color:var(--text);border-color:#3a4566}
.stage-sizes button.active{background:var(--gold);color:var(--navy);border-color:var(--gold)}

.stage-current-width{
  color:var(--text-2);font-size:11px;
  letter-spacing:0.08em;text-transform:uppercase;
  font-family:'Inter',sans-serif;
}
.stage-current-width strong{color:var(--gold);font-weight:600}

.stage-close{
  background:transparent;color:#8892a4;
  border:1px solid #2a3550;
  width:32px;height:32px;border-radius:6px;
  cursor:pointer;font-size:16px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:all .15s ease;
}
.stage-close:hover{color:var(--text);border-color:#3a4566;background:rgba(255,255,255,0.04)}

.stage-viewport{
  flex:1;
  overflow:auto;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:24px;
  background:
    radial-gradient(800px 400px at 50% 0%, rgba(201,168,76,0.05), transparent 60%),
    #0a0f1e;
}
#stage-iframe{
  background:var(--navy);
  border:none;
  height:calc(100vh - 110px);
  width:100%;
  max-width:1440px;
  border-radius:6px;
  box-shadow:0 24px 60px rgba(0,0,0,0.6);
  transition:max-width .3s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ============================================== */
/* PÁGINA DE ARTIGOS (/artigos)                   */
/* ============================================== */
.page-articles{
  padding-top:60px;
  min-height:80vh;
}
.page-articles .page-head{
  padding:60px 0 20px;
  text-align:center;
}
.page-articles .page-head .eyebrow{
  display:inline-block;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--gold);
  font-size:14px;
  letter-spacing:0.25em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.page-articles .page-head h1{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:52px;
  letter-spacing:-0.02em;
  margin:8px 0 18px;
  line-height:1;
}
.page-articles .page-lead{
  color:var(--text-2);
  font-size:16px;
  max-width:680px;
  margin:0 auto 32px;
  line-height:1.6;
}

/* Filtros por categoria (chips) */
.article-filters{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:36px auto 0;
  max-width:900px;
}
.article-filter{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  color:var(--text-2);
  padding:8px 16px;
  border-radius:999px;
  font-family:'Inter',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.10em;
  text-transform:uppercase;
  cursor:pointer;
  transition: color .22s ease, background .22s ease, border-color .22s ease, transform .15s ease;
}
.article-filter:hover{
  color:var(--gold);
  border-color:rgba(201,168,76,0.40);
  background:rgba(201,168,76,0.10);
  transform:translateY(-1px);
}
.article-filter.active{
  background:var(--gold);
  color:var(--navy);
  border-color:var(--gold);
  box-shadow:0 4px 14px rgba(201,168,76,0.25);
}

/* Artigo destaque */
.article-featured{
  padding:40px 0 24px;
}
.article-featured-card{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:0;
  align-items:stretch;
  background:var(--navy-2);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.article-featured-card:hover{
  border-color:rgba(201,168,76,0.40);
  box-shadow:0 24px 60px rgba(0,0,0,0.40);
}
.article-featured-image{
  min-height:420px;
  position:relative;
  border-right:1px solid var(--border);
}
.featured-tag{
  position:absolute;
  top:18px; left:18px;
  background:rgba(11,15,30,0.85);
  border:1px solid rgba(201,168,76,0.45);
  color:var(--gold);
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:999px;
  backdrop-filter: blur(8px);
}
.article-featured-body{
  padding:40px 44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.article-featured-body h2{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:30px;
  line-height:1.18;
  letter-spacing:-0.01em;
  margin:18px 0 18px;
  color:var(--text);
}

/* Categoria (chip dourado pequeno) */
.article-category{
  display:inline-block;
  background:var(--gold-soft);
  color:var(--gold);
  padding:5px 12px;
  border-radius:999px;
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  border:1px solid rgba(201,168,76,0.30);
  align-self:flex-start;
}
.article-lead{
  color:var(--text-2);
  font-size:15px;
  line-height:1.7;
  margin-bottom:22px;
}

/* Meta do artigo (autor · data · tempo) */
.article-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-family:'Inter',sans-serif;
  font-size:12px;
  color:var(--text-2);
  margin-bottom:28px;
  letter-spacing:0.02em;
}
.meta-author{ color:var(--gold); font-weight:600 }
.meta-sep   { color:var(--text-3) }

/* Grid de artigos (cards menores) */
.articles-grid-section{
  padding:24px 0 80px;
}
.articles-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.article-card{
  background:var(--navy-2);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.article-card:hover{
  transform:translateY(-4px);
  border-color:rgba(201,168,76,0.40);
  box-shadow:0 16px 40px rgba(0,0,0,0.40);
}
.article-card-image{
  aspect-ratio:16/9;
  position:relative;
  border-bottom:1px solid var(--border);
}
.article-card-body{
  padding:22px 24px;
  display:flex;
  flex-direction:column;
  flex:1;
  gap:10px;
}
.article-card-body h3{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:17px;
  line-height:1.3;
  margin:2px 0 4px;
  color:var(--text);
  letter-spacing:-0.005em;
}
.article-card-body p{
  color:var(--text-2);
  font-size:14px;
  line-height:1.55;
  margin:0 0 6px;
  flex:1;
}
.article-card-meta{
  display:flex;
  gap:6px;
  font-family:'Inter',sans-serif;
  font-size:11px;
  color:var(--text-3);
  letter-spacing:0.04em;
}

/* === PALETA POR CATEGORIA (placeholder de imagem por gradient) === */
/* Quando as imagens IA forem geradas, substituir por <img>; o gradient fica como fallback */
.cat-servidor{
  background:
    radial-gradient(circle at 30% 35%, rgba(201,168,76,0.35), transparent 55%),
    radial-gradient(circle at 75% 75%, rgba(124,166,255,0.20), transparent 60%),
    linear-gradient(135deg, #1a2240, var(--navy-2));
}
.cat-previdencia{
  background:
    radial-gradient(circle at 60% 30%, rgba(122,158,255,0.32), transparent 55%),
    radial-gradient(circle at 30% 80%, rgba(201,168,76,0.18), transparent 60%),
    linear-gradient(135deg, #1a2440, var(--navy-2));
}
.cat-lgpd{
  background:
    radial-gradient(circle at 50% 40%, rgba(201,138,255,0.30), transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(201,168,76,0.16), transparent 60%),
    linear-gradient(135deg, #24193a, var(--navy-2));
}
.cat-digital{
  background:
    radial-gradient(circle at 30% 60%, rgba(255,185,107,0.28), transparent 55%),
    radial-gradient(circle at 70% 30%, rgba(201,168,76,0.20), transparent 60%),
    linear-gradient(135deg, #2a1f1a, var(--navy-2));
}
.cat-sucessoes{
  background:
    radial-gradient(circle at 50% 50%, rgba(159,209,122,0.25), transparent 55%),
    radial-gradient(circle at 25% 25%, rgba(201,168,76,0.18), transparent 60%),
    linear-gradient(135deg, #1a2a1f, var(--navy-2));
}
.cat-crises{
  background:
    radial-gradient(circle at 40% 50%, rgba(255,100,100,0.28), transparent 55%),
    radial-gradient(circle at 75% 70%, rgba(201,168,76,0.20), transparent 60%),
    linear-gradient(135deg, #2a1a1a, var(--navy-2));
}
.cat-armas{
  background:
    radial-gradient(circle at 50% 50%, rgba(180,180,200,0.25), transparent 55%),
    radial-gradient(circle at 80% 20%, rgba(201,168,76,0.18), transparent 60%),
    linear-gradient(135deg, #20232b, var(--navy-2));
}

/* Botão Carregar Mais */
.articles-load-more{
  text-align:center;
  margin-top:56px;
}

/* Estado ATIVO do link de Artigos no menu (página atual) */
.main-nav a.active{
  background:var(--gold);
  color:var(--navy);
  box-shadow:0 6px 18px rgba(201,168,76,0.32);
}

/* Responsivo */
@media (max-width: 980px){
  .article-featured-card{
    grid-template-columns:1fr;
  }
  .article-featured-image{
    min-height:240px;
    border-right:none;
    border-bottom:1px solid var(--border);
  }
  .article-featured-body{ padding:28px }
  .article-featured-body h2{ font-size:24px }
  .articles-grid{ grid-template-columns:1fr }
  .page-articles .page-head h1{ font-size:38px }
  .page-articles .page-head{ padding:40px 0 20px }
  .article-filters{ justify-content:flex-start; overflow-x:auto; padding-bottom:8px }
  .article-filter{ flex-shrink:0 }
}
@media (max-width: 600px){
  .page-articles .page-head h1{ font-size:30px }
  .article-featured-body h2{ font-size:20px }
}

/* ============================================== */
/* PÁGINA DO ARTIGO INDIVIDUAL (/artigo)          */
/* ============================================== */
.page-article{
  padding-top:40px;
  min-height:80vh;
}

/* Container narrow para leitura confortável (regra dos 65-75 caracteres por linha) */
.container-narrow{
  max-width:760px;
  margin:0 auto;
  padding:0 32px;
}

/* === BREADCRUMB === */
.article-breadcrumb{
  padding:20px 0 30px;
  font-family:'Inter',sans-serif;
  font-size:12px;
  color:var(--text-3);
  letter-spacing:0.04em;
}
.article-breadcrumb a{
  color:var(--text-2);
  text-decoration:none;
  transition: color .2s ease;
}
.article-breadcrumb a:hover{ color:var(--gold) }
.article-breadcrumb .bc-sep{
  margin:0 10px;
  opacity:0.5;
}
.article-breadcrumb .bc-current{
  color:var(--gold);
  font-weight:500;
}

/* === HERO DO ARTIGO === */
.article-hero{
  padding:30px 0 50px;
  text-align:left;
}
.article-hero .article-category{
  margin-bottom:24px;
}
.article-hero h1{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:42px;
  line-height:1.15;
  letter-spacing:-0.02em;
  margin:0 0 22px;
  color:var(--text);
}
.article-subtitle{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:22px;
  line-height:1.5;
  color:var(--text-2);
  margin-bottom:36px;
}

/* Meta com avatar do autor */
.article-meta-full{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
  padding:18px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.meta-author-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}
.meta-author-avatar{
  width:44px; height:44px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  color:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cinzel',serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:0.04em;
  flex-shrink:0;
}
.meta-author-name{
  font-family:'Inter',sans-serif;
  font-size:14px;
  font-weight:600;
  color:var(--text);
  line-height:1.2;
}
.meta-author-role{
  font-family:'Inter',sans-serif;
  font-size:11px;
  color:var(--text-2);
  letter-spacing:0.04em;
  margin-top:2px;
}
.meta-info{
  font-family:'Inter',sans-serif;
  font-size:13px;
  color:var(--text-2);
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

/* === IMAGEM DE CAPA === */
.article-cover{
  padding:30px 0;
}
.article-cover-image{
  width:100%;
  aspect-ratio:16/9;
  border-radius:var(--radius-md);
  border:1px solid var(--border);
}

/* === CORPO DO ARTIGO (tipografia de leitura) === */
.article-body{
  padding:40px 0 60px;
}
.article-body .container-narrow{
  font-family:'Inter',sans-serif;
  font-size:18px;
  line-height:1.78;
  color:var(--text);
}
.article-body p{
  margin:0 0 24px;
  color:#cdd5e1;          /* tom de cinza-claro confortável p/ leitura longa */
}
.article-body .lead-paragraph{
  font-size:21px;
  line-height:1.65;
  color:var(--text);
  font-weight:400;
  margin-bottom:36px;
  padding-left:20px;
  border-left:2px solid var(--gold);
}
.article-body h2{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:28px;
  line-height:1.3;
  letter-spacing:-0.01em;
  color:var(--text);
  margin:48px 0 20px;
}
.article-body h3{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:21px;
  line-height:1.35;
  color:var(--text);
  margin:36px 0 16px;
}
.article-body strong{
  color:var(--text);
  font-weight:600;
}
.article-body em{
  font-style:italic;
  color:var(--gold-light);
}
.article-body ul,
.article-body ol{
  margin:0 0 30px 0;
  padding-left:0;
  list-style:none;
}
.article-body ul li{
  position:relative;
  padding-left:28px;
  margin-bottom:14px;
  color:#cdd5e1;
}
.article-body ul li::before{
  content:"◆";
  position:absolute;
  left:6px;
  top:0;
  color:var(--gold);
  font-size:10px;
  line-height:1.8;
}
.article-body a{
  color:var(--gold);
  text-decoration:underline;
  text-decoration-color:rgba(201,168,76,0.3);
  text-underline-offset:3px;
  transition: text-decoration-color .2s ease;
}
.article-body a:hover{ text-decoration-color:var(--gold) }

/* Citação destacada (blockquote) */
.article-body .article-quote{
  margin:40px 0;
  padding:24px 28px;
  background:rgba(20,27,45,0.55);
  border-left:3px solid var(--gold);
  border-radius:0 8px 8px 0;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:21px;
  line-height:1.5;
  color:var(--gold);
}
.article-body .article-quote cite{
  display:block;
  margin-top:14px;
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--text-2);
}

/* === COMPARTILHAR === */
.article-share{
  padding:40px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:rgba(20,27,45,0.3);
}
.article-share h4{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--gold);
  font-size:18px;
  font-weight:400;
  margin:0 0 18px;
  text-align:center;
}
.share-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
.share-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  color:var(--text-2);
  font-family:'Inter',sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:0.06em;
  text-decoration:none;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .15s ease;
}
.share-btn svg{
  width:14px; height:14px;
}
.share-btn:hover{
  color:var(--gold);
  background:rgba(201,168,76,0.08);
  border-color:rgba(201,168,76,0.35);
  transform:translateY(-1px);
}

/* === SOBRE O AUTOR === */
.article-author{
  padding:60px 0;
}
.author-card{
  display:flex;
  gap:24px;
  align-items:flex-start;
  background:var(--navy-2);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:30px;
}
.author-avatar-lg{
  width:80px; height:80px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  color:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cinzel',serif;
  font-weight:700;
  font-size:24px;
  letter-spacing:0.04em;
  flex-shrink:0;
}
.author-content{ flex:1 }
.author-label{
  display:inline-block;
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:var(--text-2);
  margin-bottom:6px;
}
.author-card h4{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:20px;
  color:var(--text);
  margin:0 0 4px;
}
.author-role{
  font-family:'Inter',sans-serif;
  font-size:12px;
  color:var(--gold);
  letter-spacing:0.04em;
  margin:0 0 14px;
}
.author-content > p{
  color:var(--text-2);
  font-size:14.5px;
  line-height:1.65;
  margin:0 0 18px;
}

/* === ARTIGOS RELACIONADOS === */
.article-related{
  padding:60px 0 100px;
  background:rgba(20,27,45,0.3);
  border-top:1px solid var(--border);
}
.related-title{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:32px;
  letter-spacing:-0.01em;
  color:var(--text);
  margin:0 0 36px;
  text-align:center;
}
/* Links nos cards relacionados (sem decoração) */
.article-related .article-card a{
  text-decoration:none;
  color:inherit;
}
.article-related .article-card h3 a{ color:var(--text) }
.article-related .article-card h3 a:hover{ color:var(--gold) }
.article-related .article-card-image{
  display:block;
  width:100%;
}

/* === RESPONSIVO === */
@media (max-width: 980px){
  .article-hero h1{ font-size:32px }
  .article-subtitle{ font-size:18px }
  .article-body .container-narrow{ font-size:16px }
  .article-body .lead-paragraph{ font-size:18px }
  .article-body h2{ font-size:24px }
  .article-body h3{ font-size:18px }
  .article-meta-full{ flex-direction:column; align-items:flex-start; gap:12px }
  .author-card{ flex-direction:column; align-items:center; text-align:center }
}
@media (max-width: 600px){
  .container-narrow{ padding:0 20px }
  .article-hero h1{ font-size:26px }
  .article-subtitle{ font-size:16px }
  .share-buttons{ flex-direction:column; align-items:stretch }
  .share-btn{ justify-content:center }
}

/* ============================================== */
/* ATUALIZAÇÃO: tipografia em "em" para escalar  */
/* ============================================== */
.article-body .container-narrow{
  font-family:'Inter',sans-serif;
  font-size:16px;                /* tamanho BASE (era 18px) — JS vai ajustar este valor */
  line-height:1.75;
  color:var(--text);
  transition: font-size .2s ease;
}
.article-body p{
  font-size:1em;
  margin:0 0 1.5em;
  color:#cdd5e1;
}
.article-body .lead-paragraph{
  font-size:1.15em;
  line-height:1.6;
  color:var(--text);
  font-weight:400;
  margin-bottom:2em;
  padding-left:1.2em;
  border-left:2px solid var(--gold);
}
.article-body h2{
  font-size:1.55em;
  line-height:1.3;
  margin:2.5em 0 1em;
}
.article-body h3{
  font-size:1.2em;
  margin:2em 0 0.8em;
}
.article-body ul li{
  font-size:1em;
  margin-bottom:0.8em;
}
.article-body .article-quote{
  font-size:1.2em;
  margin:2em 0;
  padding:1.4em 1.5em;
}

/* ============================================== */
/* BARRA DE AÇÕES DO ARTIGO                       */
/* ============================================== */
.article-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:24px;
  padding:24px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  margin:30px 0 40px;
}
.action-group{
  display:flex;
  align-items:center;
  gap:10px;
}
.action-label{
  font-family:'Inter',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--text-2);
  white-space:nowrap;
}

/* Controles A- A+ */
.font-resize-btn{
  width:32px;
  height:32px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.15);
  background:transparent;
  color:var(--text-2);
  font-family:'Inter',sans-serif;
  font-weight:600;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .15s ease;
}
.font-resize-btn:hover{
  color:var(--gold);
  border-color:rgba(201,168,76,0.5);
  background:rgba(201,168,76,0.08);
  transform:translateY(-1px);
}
.font-resize-btn.small{ font-size:11px }
.font-resize-btn.large{ font-size:15px }

/* Botão de imprimir */
.print-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  background:transparent;
  border:1px solid rgba(255,255,255,0.15);
  border-radius:6px;
  color:var(--text-2);
  font-family:'Inter',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:0.10em;
  text-transform:uppercase;
  cursor:pointer;
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .15s ease;
}
.print-btn:hover{
  color:var(--gold);
  border-color:rgba(201,168,76,0.5);
  background:rgba(201,168,76,0.08);
  transform:translateY(-1px);
}
.print-btn svg{
  width:13px; height:13px;
  fill:none; stroke:currentColor; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
}

/* Ícones de compartilhamento (circulares) */
.share-icon{
  width:34px; height:34px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.15);
  background:transparent;
  color:var(--text-2);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .15s ease;
}
.share-icon:hover{
  color:var(--gold);
  border-color:rgba(201,168,76,0.55);
  background:rgba(201,168,76,0.10);
  transform:translateY(-2px);
}
.share-icon svg{
  width:14px; height:14px;
  fill:currentColor;
}

/* === Botão "Copiar link" (substitui o de e-mail) === */
button.share-icon.share-copy-btn{
  cursor:pointer;
  font-family:inherit;
  padding:0;
  position:relative;
  outline-offset:2px;
}
.share-icon .icon-check{ display:none; }
.share-icon.copied{
  color:#9fd17a;
  border-color:rgba(159,209,122,0.55);
  background:rgba(159,209,122,0.12);
}
.share-icon.copied .icon-copy{ display:none; }
.share-icon.copied .icon-check{ display:inline-block; }
.copy-tooltip{
  position:absolute;
  bottom:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%) translateY(4px);
  background:#9fd17a;
  color:#0b0f1e;
  padding:5px 12px;
  border-radius:6px;
  font-family:'Montserrat',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.4px;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.18s ease, transform 0.18s ease;
  box-shadow:0 4px 12px rgba(0,0,0,0.25);
}
.copy-tooltip::after{
  content:"";
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  border:5px solid transparent;
  border-top-color:#9fd17a;
}
.share-icon.copied .copy-tooltip{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* Responsivo da barra de ações */
@media (max-width: 720px){
  .article-actions{
    justify-content:center;
    gap:16px;
  }
  .action-group{ flex-wrap:wrap; justify-content:center }
}

/* Esconde a barra ao imprimir */
@media print{
  .article-actions, .site-header, .site-footer, .article-share,
  .article-related, .article-breadcrumb, .dev-banner, #open-responsive,
  #responsive-stage{ display:none !important }
  body{ background:white !important; color:black !important }
  .article-body .container-narrow{ color:black; font-size:12pt }
  .article-body p{ color:black }
}

/* ============================================== */
/* FOTO DO AUTOR (substitui o monograma EM)       */
/* ============================================== */
.meta-author-photo{
  width:48px; height:48px;
  border-radius:50%;
  overflow:hidden;
  border:1.5px solid var(--gold);
  flex-shrink:0;
  background:var(--navy-2);
}
.meta-author-photo img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
/* Fallback enquanto a foto não está disponível */
.meta-author-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cinzel',serif;
  font-weight:700;
  font-size:14px;
  color:var(--navy);
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  border:none;
}

.author-photo-lg{
  width:130px; height:130px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  border:2px solid var(--gold);
  box-shadow:
    0 12px 32px rgba(0,0,0,0.45),
    0 0 0 6px rgba(201,168,76,0.08);
  background:var(--navy-2);
}
.author-photo-lg img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.author-photo-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cinzel',serif;
  font-weight:700;
  font-size:36px;
  color:var(--navy);
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  border:2px solid var(--gold);
}

/* ============================================== */
/* CREDENCIAIS DO AUTOR (formação + comissões)    */
/* ============================================== */
.author-bio{
  color:var(--text-2);
  font-size:14.5px;
  line-height:1.7;
  margin:0 0 20px;
}
.author-credentials{
  margin:20px 0 24px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.cred-group h5{
  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 8px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(201,168,76,0.20);
}
.cred-group ul{
  list-style:none;
  padding:0;
  margin:0;
}
.cred-group ul li{
  font-family:'Inter',sans-serif;
  font-size:13px;
  line-height:1.55;
  color:var(--text-2);
  padding:5px 0 5px 18px;
  position:relative;
}
.cred-group ul li::before{
  content:"◆";
  position:absolute;
  left:0;
  top:5px;
  font-size:8px;
  color:var(--gold);
  opacity:0.7;
}

/* Card mais largo pra acomodar credenciais */
.author-card{
  padding:36px 32px;
}

@media (max-width: 720px){
  .author-photo-lg{ width:100px; height:100px }
  .author-photo-fallback{ font-size:28px }
  .cred-group ul li{ font-size:12.5px }
}

/* ============================================== */
/* IMAGENS REAIS NOS CARDS DE ARTIGO              */
/* ============================================== */
.article-card-image{
  overflow:hidden;
}
.article-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1);
}
.article-card:hover .article-card-image img{
  transform: scale(1.06);     /* zoom suave no hover */
}

.article-featured-image{
  overflow:hidden;
}
.article-featured-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1);
}
.article-featured-card:hover .article-featured-image img{
  transform: scale(1.03);
}
.article-featured-image .featured-tag{
  z-index:2;                 /* tag dourada fica sobre a imagem */
}

/* ============================================== */
/* IMAGENS NOS CARDS DA MARQUEE DA HOME           */
/* ============================================== */
.artigo-thumb{
  overflow:hidden;
}
.artigo-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1);
}
.artigo-card:hover .artigo-thumb img{
  transform: scale(1.06);
}
/* Esconde o ::before do gradient antigo quando tem img */
.artigo-thumb:has(img)::before{
  display:none;
}

/* ============================================== */
/* INFOGRÁFICOS REUSÁVEIS NOS ARTIGOS             */
/* ============================================== */

/* TIPO 1: Comparação em duas colunas (antes/depois, tese/jurisprudência, etc.) */
.infographic-compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin:40px 0;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--navy-2);
}
.compare-col{
  padding:24px 26px;
}
.compare-col.before{
  background:rgba(255,100,100,0.05);
  border-right:1px solid var(--border);
}
.compare-col.after{
  background:rgba(159,209,122,0.05);
}
.compare-label{
  display:inline-block;
  font-family:'Inter',sans-serif;
  font-size:10px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:12px;
  padding:4px 10px;
  border-radius:999px;
}
.compare-col.before .compare-label{
  color:#ffb3b3;
  background:rgba(255,100,100,0.12);
  border:1px solid rgba(255,100,100,0.3);
}
.compare-col.after .compare-label{
  color:#c8e8a8;
  background:rgba(159,209,122,0.12);
  border:1px solid rgba(159,209,122,0.3);
}
.compare-col h4{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:17px;
  color:var(--text);
  margin:0 0 10px;
  line-height:1.3;
}
.compare-col p{
  font-size:14px;
  color:var(--text-2);
  line-height:1.6;
  margin:0;
}

/* TIPO 2: Timeline vertical (etapas numeradas) */
.infographic-timeline{
  margin:40px 0;
  padding:30px 24px;
  background:rgba(20,27,45,0.5);
  border:1px solid var(--border);
  border-radius:12px;
  position:relative;
}
.timeline-title{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--gold);
  font-size:18px;
  text-align:center;
  margin:0 0 24px;
  letter-spacing:0.04em;
}
.timeline-list{
  position:relative;
  padding-left:14px;
}
.timeline-list::before{
  content:"";
  position:absolute;
  left:20px;
  top:14px;
  bottom:14px;
  width:1.5px;
  background:linear-gradient(to bottom, var(--gold), rgba(201,168,76,0.15));
}
.timeline-step{
  display:flex;
  gap:18px;
  padding:10px 0;
  position:relative;
}
.timeline-num{
  width:30px; height:30px;
  border-radius:50%;
  background:var(--navy-2);
  border:1.5px solid var(--gold);
  color:var(--gold);
  font-family:'Cinzel',serif;
  font-weight:700;
  font-size:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  position:relative;
  z-index:1;
  box-shadow:0 0 0 4px var(--navy);
}
.timeline-content{ padding-top:2px }
.timeline-content h5{
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:14.5px;
  color:var(--text);
  margin:0 0 4px;
  line-height:1.3;
}
.timeline-content p{
  font-size:13px;
  color:var(--text-2);
  line-height:1.55;
  margin:0;
}

/* TIPO 3: Estatísticas em grid */
.infographic-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:18px;
  margin:40px 0;
  padding:28px 24px;
  background:rgba(20,27,45,0.5);
  border:1px solid var(--border);
  border-radius:12px;
}
.stat-item{
  text-align:center;
  padding:0 8px;
}
.stat-num{
  display:block;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:32px;
  color:var(--gold);
  line-height:1;
  letter-spacing:-0.01em;
  margin-bottom:8px;
}
.stat-num small{
  font-size:18px;
  opacity:0.7;
}
.stat-label{
  display:block;
  font-family:'Inter',sans-serif;
  font-size:10.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--text-2);
  line-height:1.4;
}

/* Responsivo */
@media (max-width: 720px){
  .infographic-compare{ grid-template-columns:1fr }
  .compare-col.before{ border-right:none; border-bottom:1px solid var(--border) }
}

/* Cover de imagem dentro do artigo individual */
.article-cover-image{ overflow:hidden }
.article-cover-image img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}

/* Links dentro de h2/h3 dos cards de artigo (mantém cor do título) */
.article-featured-body h2 a,
.article-card-body h3 a,
.artigo-card h3 a{
  color:inherit;
  text-decoration:none;
  transition: color .2s ease;
}
.article-featured-body h2 a:hover,
.article-card-body h3 a:hover,
.artigo-card h3 a:hover{
  color:var(--gold);
}
