﻿*{box-sizing:border-box}html,body{padding:0;margin:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;background:#0b0b0c;color:#d7d7db;line-height:1.6;position:relative;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:50;background:rgba(10,10,12,.8);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #1a1a1d}.nav{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{display:flex;align-items:center;gap:12px}
.logo-mark{display:grid;place-items:center}
.logo-mark svg{width:22px;height:22px;filter:drop-shadow(0 0 8px rgba(230,0,0,.35))}
.logo-text{font-weight:600;line-height:1}
.menu{display:flex;gap:20px}.menu a{opacity:.9;transition:all .2s}.menu a:hover{color:#e60000;opacity:1}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:center;min-height:72vh;padding:64px 20px}.hero-text h1{font-size:36px;line-height:1.2;margin:0 0 12px}.eyebrow{display:inline-block;color:#e60000;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:8px}.accent{color:#fff}.hero-ctas{display:flex;gap:12px;margin-top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 14px;border:1px solid #2a2a2e;background:#151518;color:#eaeaf0;transition:all .2s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:#e60000;border-color:#e60000;color:#fff}.btn.ghost{background:transparent}.btn.small{padding:8px 12px;font-size:14px}.hero-photo{justify-self:center;align-self:center}.hero-photo img{border-radius:14px;border:1px solid #1f1f23;box-shadow:0 10px 40px rgba(230,0,0,.12)}.section{padding:56px 20px}.section h2{margin:0 0 16px;font-size:28px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{background:#121214;border:1px solid #27272b;color:#f0f0f3;padding:8px 12px;border-radius:999px;font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#111114;border:1px solid #232328;border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;min-height:160px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(230,0,0,.08)}.card-body{padding:16px}.card-body h3{margin:0 0 8px;font-size:18px}.card-actions{display:flex;gap:10px;padding:0 16px 16px}.contact{display:flex;gap:16px;flex-wrap:wrap}.contact-item{padding-bottom:2px}.site-footer{border-top:1px solid #1a1a1d;padding:24px 0;margin-top:24px;color:#a7a7ad;text-align:center}@media (max-width:900px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.menu{display:none;position:absolute;top:64px;right:20px;background:#0e0e10;border:1px solid #222226;border-radius:10px;flex-direction:column;gap:0;min-width:200px;overflow:hidden}.menu a{padding:12px 14px;border-bottom:1px solid #1c1c20}.nav-toggle{display:block}.grid{grid-template-columns:1fr}.contact-links{grid-template-columns:1fr;gap:16px}.contact-social{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}}.reveal{opacity:0;transform:translateY(14px);transition:all .5s}.reveal.in{opacity:1;transform:none}/* Tech background */.bg-tech{position:fixed;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(8,8,12,.95),rgba(12,8,15,.98));}.bg-tech:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 0%,rgba(230,0,0,.03) 50%,transparent 100%),linear-gradient(0deg,transparent 0%,rgba(230,0,0,.02) 50%,transparent 100%);background-size:100px 100px,100px 100px;animation:circuit-pulse 8s ease-in-out infinite}.bg-tech:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(230,0,0,.08) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(230,0,0,.06) 0%,transparent 50%),radial-gradient(circle at 40% 60%,rgba(230,0,0,.04) 0%,transparent 50%);animation:glow-pulse 6s ease-in-out infinite alternate}@keyframes circuit-pulse{0%,100%{opacity:.3;transform:translateX(0) translateY(0)}25%{opacity:.5;transform:translateX(2px) translateY(-1px)}50%{opacity:.4;transform:translateX(-1px) translateY(2px)}75%{opacity:.6;transform:translateX(1px) translateY(-2px)}}@keyframes glow-pulse{from{opacity:.4;transform:scale(1)}to{opacity:.7;transform:scale(1.05)}}@keyframes particle-float{0%,100%{transform:translateY(0) translateX(0);opacity:.6}25%{transform:translateY(-10px) translateX(5px);opacity:.8}50%{transform:translateY(-5px) translateX(-3px);opacity:.4}75%{transform:translateY(-15px) translateX(8px);opacity:.9}}@keyframes circuit-line{0%,100%{opacity:.2;transform:scaleX(1)}50%{opacity:.6;transform:scaleX(1.2)}}/* Matrix rain */#matrix-rain{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;overflow:hidden;opacity:.15}#matrix-rain .matrix-column{position:absolute;top:-100%;color:#00ff00;font-family:monospace;font-size:14px;line-height:14px;animation:matrix-fall linear infinite}#matrix-rain .matrix-column:nth-child(odd){color:#00ff41}#matrix-rain .matrix-column:nth-child(3n){color:#00ff88}@keyframes matrix-fall{0%{transform:translateY(-100vh);opacity:1}100%{transform:translateY(100vh);opacity:0}}/* Typing effect */.cursor{animation:blink 1s infinite;color:#e60000;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}/* Enhanced scroll reveal */.reveal{opacity:0;transform:translateY(20px);transition:all .6s ease-out}.reveal.in{opacity:1;transform:translateY(0)}.reveal.slide-left{transform:translateX(-30px)}.reveal.slide-left.in{transform:translateX(0)}.reveal.slide-right{transform:translateX(30px)}.reveal.slide-right.in{transform:translateX(0)}.reveal.zoom{transform:scale(0.95)}.reveal.zoom.in{transform:scale(1)}/* Logo mark tweak */.logo-mark svg{filter:drop-shadow(0 0 8px rgba(230,0,0,.35))}/* Skills icons */.skills-icons{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.skills-icons i{font-size:28px;opacity:.95}/* Card meta icons */.card-meta{display:flex;gap:8px;margin-bottom:8px;color:#e8e8ee}
.chips-icons .chip{display:inline-flex;align-items:center;gap:8px}
.chips-icons .chip i{font-size:18px}
.card-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:#e8e8ee}
.card-meta.big i{font-size:26px}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.badge{background:#121214;border:1px solid #2a2a2e;color:#eaeaf0;padding:6px 10px;border-radius:999px;font-size:13px}
.contact-form{margin-top:20px;background:#111114;border:1px solid #232328;border-radius:12px;padding:16px}
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.form-row label{font-size:14px;color:#cfcfd6}
.form-row input,.form-row textarea{background:#0e0e10;border:1px solid #2a2a2e;color:#f1f1f5;padding:10px 12px;border-radius:8px;outline:0}
.form-row input:focus,.form-row textarea:focus{border-color:#e60000;box-shadow:0 0 0 3px rgba(230,0,0,.15)}
.form-actions{display:flex;gap:10px;align-items:center}
.btn.whatsapp{display:inline-flex;gap:8px;align-items:center;border:1px solid #2a2a2e;background:#0f1a12;color:#d8f8e8}
.btn.whatsapp:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(37,211,102,.1)}
.wa-icon{display:grid;place-items:center}
.contact-links{display:grid;grid-template-columns:1fr auto;gap:24px;margin:20px 0;align-items:start;}
.contact-item{display:flex;align-items:center;gap:8px;padding-bottom:2px}.contact-social{display:flex;gap:12px;align-items:flex-start;}

/* Links sociais para mobile - aparecem logo após o título */
.contact-social-mobile{
  display: none; /* Escondido no desktop */
}

.contact-social-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: #111114;
  border: 1px solid #232328;
  border-radius: 8px;
  color: #eaeaf0;
  text-decoration: none;
  transition: all 0.2s;
  font-weight: 500;
}

.contact-social-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(230,0,0,.15);
  border-color: #e60000;
}

.contact-social-btn i{
  font-size: 18px;
}

.contact-social-btn .wa-icon{
  display: flex;
  align-items: center;
}
.contact-item i{font-size:18px}
.ci-icon{font-size:16px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(10px);opacity:0;transition:all .25s;padding:10px 14px;border-radius:8px;font-weight:600;z-index:100;background:#0e0e10;border:1px solid #2a2a2e;color:#eaeaf0;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.toast.in{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.success{border-color:#1f6f3d;box-shadow:0 10px 30px rgba(31,111,61,.25)}
.card-actions .btn.small:hover{background:rgba(230,0,0,.1);border-color:#e60000;box-shadow:0 8px 24px rgba(230,0,0,.15)}
@media (max-width: 599px){
  .contact-item{
    flex-direction:column;  
    align-items:flex-start;
    gap:10px;
    padding-bottom:10px;
  }

  .hero-ctas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }

  h2 {
    text-align: center;
  }

  .bg-tech{
  position: fixed;
  inset: 0;
  z-index: -1;
  background: linear-gradient(135deg, rgba(8,8,12,.95), rgba(12,8,15,.98));
  overflow: clip;          /* use clip; se não suportar, vira hidden */
  /* fallback pra navegadores sem overflow:clip */
  overflow: hidden;
  contain: paint;          /* isola a pintura/transform dos filhos */
  pointer-events: none;
}

.bg-tech::before,
.bg-tech::after{
  content: "";
  position: absolute;
  inset: 0;
  /* garante que nada renderize fora */
  clip-path: inset(0);     /* CLIPA o pseudo mesmo com transform */
}

html { 
  overflow-x: clip;       /* melhor que hidden p/ layout moderno */
}

.chips-icons {
  justify-content: center;
  align-items: center;
}

  .contact-links{
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 20px 0;
  }

  /* Mostrar links sociais para mobile logo após o título */
  .contact-social-mobile{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin: 20px 0 30px 0;
    flex-wrap: wrap;
  }

  /* Esconder links sociais originais no mobile */
  .contact-social{
    display: none;
  }
  
  .contact-item .name,
  .contact-item .subtitle{
    max-width:100%;
    overflow-wrap:break-word;
  }
}

/* ====== CELULARES MUITO ESTREITOS (≤ 360px) ====== */
@media (max-width: 360px){
  .contact-item img,
  .contact-item .avatar{
    width:36px;
    height:36px;
  }

  .contact-social-mobile{
    flex-direction: column;
    gap: 12px;
    align-items: center;
  }

  .contact-social-mobile .contact-social-btn{
    width: 100%;
    max-width: 200px;
    min-width: 140px;
    padding: 10px 12px;
    font-size: 14px;
    justify-content: center;
  }

  .contact-social-mobile .contact-social-btn i{
    font-size: 16px;
  }

  .contact-social-mobile .wa-icon{
    width: 16px;
    height: 16px;
  }

  .contact-social-mobile .wa-icon svg{
    width: 16px;
    height: 16px;
  }

  .hero-ctas{
    gap: 8px;
  }

  .hero-ctas .btn{
    padding: 8px 10px;
    font-size: 13px;
  }

  .card-actions .btn.small{
    padding: 6px 10px;
    font-size: 12px;
  }

  .section{
    padding: 40px 15px;
  }

  .container{
    padding: 0 15px;
  }
}

/* ===== Modal de vídeo ===== */
.modal{
  position: fixed;
  inset: 0;
  display: none;        /* fechado */
  z-index: 200;
}

.modal.open{
  display: grid;        /* centraliza sem transform */
  place-items: center;
}

/* backdrop sem interferir na hitbox do conteúdo */
.modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.75);
  /* REMOVA o blur se o problema voltar */
  /* backdrop-filter: blur(2px); */
  z-index: 0;
}

.modal-dialog{
  position: relative;
  z-index: 1;           /* acima do backdrop */
  max-width: 960px;
  width: min(960px, calc(100% - 32px));
  background: #111114;
  border: 1px solid #232328;
  border-radius: 12px;
  padding: 14px 14px 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.6);
  /* garante que nenhuma herança de transform afete a hitbox */
  transform: none !important;
}

.modal-title{
  margin: 0 0 10px;
  font-size: 16px;
  color: #eaeaf0;
  opacity: .9;
}

.modal-close{
  position: absolute;
  top: 6px;
  right: 8px;
  width: 32px;
  height: 32px;
  border: 1px solid #2a2a2e;
  border-radius: 8px;
  background: #151518;
  color: #eaeaf0;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  z-index: 2; /* acima de qualquer overlay */
}

#demo-video{
  width: 100%;
  height: auto;
  border-radius: 8px;
  outline: none;
  background: #000;
}

/* Evita scroll da página quando o modal está aberto */
body.no-scroll{overflow:hidden}

.btn,
button,
.demo-btn {
  cursor: pointer;
}

  .hero-ctas .btn i { margin-right: 8px; }

/* ====== BADGE AWS INTEGRADO HARMONIOSO ====== */
.chip.aws-certified {
  position: relative;
  background: linear-gradient(135deg, #121214 0%, #0f0f12 100%);
  border: 1px solid #e60000;
  box-shadow: 0 0 15px rgba(230, 0, 0, 0.08);
  transition: all 0.3s ease;
  cursor: pointer;
}

.chip.aws-certified:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(230, 0, 0, 0.15);
  border-color: #ff3333;
}

.cert-indicator {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 18px;
  height: 18px;
  background: linear-gradient(135deg, #e60000 0%, #ff3333 100%);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  box-shadow: 0 2px 8px rgba(230, 0, 0, 0.3);
  transition: all 0.3s ease;
  z-index: 2;
  border: 2px solid #0b0b0c;
}

.chip.aws-certified:hover .cert-indicator {
  transform: scale(1.2);
  box-shadow: 0 4px 12px rgba(230, 0, 0, 0.4);
  animation: pulse-glow 0.6s ease-in-out;
}

/* Tooltip elegante */
.chip.aws-certified::after {
  content: 'AWS Certified Cloud Practitioner - Clique para verificar credencial';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #0e0e10;
  color: #eaeaf0;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 10;
  border: 1px solid #232328;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  max-width: 200px;
  text-align: center;
}

.chip.aws-certified::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  border: 4px solid transparent;
  border-top-color: #0e0e10;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 10;
}

.chip.aws-certified:hover::after,
.chip.aws-certified:hover::before {
  opacity: 1;
  transform: translateX(-50%) translateY(-8px);
}

.chip.aws-certified:hover::before {
  transform: translateX(-50%) translateY(-4px);
}

/* Animação de pulse para o indicador */
@keyframes pulse-glow {
  0% {
    box-shadow: 0 4px 12px rgba(230, 0, 0, 0.4);
  }
  50% {
    box-shadow: 0 4px 20px rgba(230, 0, 0, 0.6);
  }
  100% {
    box-shadow: 0 4px 12px rgba(230, 0, 0, 0.4);
  }
}

/* Melhorar emojis nos botões para mobile */
@media (max-width: 599px){
  .hero-ctas .btn{
    font-size: 15px;
    line-height: 1.4;
    padding: 12px 16px;
  }
  
  /* Melhorar espaçamento e tamanho dos ícones e emojis */
  .hero-ctas .btn i { 
    margin-right: 8px;
    font-size: 18px; /* Aumentado para harmonizar com emojis */
  }
  
  /* Garantir que todos os botões tenham o mesmo tamanho */
  .hero-ctas .btn{
    min-height: 44px; /* Altura mínima para toque confortável */
    display: flex;
    align-items: center;
    justify-content: center;
  }
}