:root{
  --bg:#070708;
  --bg-2:#111214;
  --blue: #05abf8;
  --red:#e10613;
  --red-soft:#ff3a3a;
  --white:#ffffff;
  --gray:#b1b7bf;
  --gray-2:#8f969f;
  --dark-panel:rgba(24, 24, 28, 0.76);
  --dark-panel-2:rgba(38, 39, 46, 0.72);
  --line:rgba(255,255,255,0.08);
  --line-soft:rgba(255,255,255,0.05);
  --radius:20px;
  --shadow:0 14px 38px rgba(0,0,0,0.45);
}

/* RESET */
*{margin:0;padding:0;box-sizing:border-box;}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Inter, Arial, sans-serif;
  background:
    radial-gradient(circle at top, rgba(225,6,19,0.08), transparent 24%),
    linear-gradient(180deg, #444444 0%, #919397 18%, #2b2b38 100%);
  color:var(--white);
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
}

/* HEADER V2 */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background:
    linear-gradient(180deg, rgba(125, 125, 138, 0.94) 0%, rgba(80, 82, 92, 0.96) 48%, rgba(61, 61, 68, 0.94) 100%),
    linear-gradient(115deg,
      rgba(255,255,255,0.08) 0%,
      rgba(255,255,255,0.025) 16%,
      rgba(255,255,255,0.00) 34%,
      rgba(255,255,255,0.03) 52%,
      rgba(255,255,255,0.00) 70%,
      rgba(255,255,255,0.02) 100%);
  border-bottom: 1px solid var(--red-soft);
  box-shadow:
    inset 0 1px 0 rgba(175, 6, 6, 0.04),
    0 5px 8px rgba(204, 6, 6, 0.55);
}

.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(202, 193, 193, 0.025) 18%,
      transparent 34%,
      rgba(136, 133, 133, 0.018) 56%,
      transparent 74%,
      rgba(255,255,255,0.02) 100%);
  mix-blend-mode: screen;
  opacity:.55;
}

.nav{
  position: relative;
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:24px;
  min-height:60px;
  padding:0 20px;
}

.nav-left,
.nav-right{
  display:flex;
  align-items:center;
}

.nav-left{justify-content:flex-start;}
.nav-right{justify-content:flex-end;}

.nav-left img{
  height:50px;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,0.35));
}

.nav-right img{
  height:25px;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,0.28));
}

.nav-center{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  padding:0 18px;
}

.nav-center a{
  position:relative;
  color:var(--white);
  font-size:1.3rem;
  font-weight:400;
  letter-spacing:.01em;
  transition:color .22s ease, text-shadow .22s ease;
}

.nav-center a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(136, 133, 133, 0.018),
    var(--red),
    var(--red-soft),
    var(--red),
    rgba(136, 133, 133, 0.018)
  );
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
  border-radius:999px;
}

.nav-center a:hover{
  text-shadow:#e10613 0 0 8px;
}

.nav-center a:hover::after{
  transform:scaleX(1);
}

/* HERO */
.hero{
  min-height:85vh;
  display:flex;
  align-items:center;
  padding:0 10vw;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.82), rgba(0,0,0,0.32)),
    url('../img/hero.png') center/cover no-repeat;
  border-bottom:1px solid var(--red);
}

.hero-content{
  max-width:80vw;
}

.hero h1{
  font-size:64px;
  line-height:1.1;
  text-align:left;
  margin-bottom:20px;
}

.hero h1 span{
  color:var(--red);
}

.hero p{
  color:var(--white);
  font-size:1.5rem;
  line-height:1.3;
  text-align:justify;
  margin-bottom:30px;
  max-width:55vw;
}

/* BASE SECTION */
.section{
  padding:80px 60px;
}

.section-shell{
  max-width:1280px;
  margin:0 auto;
}

.section-heading{
  margin-bottom:34px;
}

.section-kicker{
  display:inline-block;
  margin: 0 0 20px 0;
  padding:10px 20px;
  border-radius:999px;
  background:rgba(225, 6, 19, 0.12);
  border:1px solid var(--red-soft);
  color:var(--white);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  
}

.section h2{
  font-size:2rem;
  margin-bottom:16px;
  color:var(--white);
}

.section-lead{
  color:var(--white);
  max-width:100vw;
  font-size:1.4rem;
  line-height:1.6;
}

/* SOBRE O CAD ERP */
.section-cad{
  background:
    linear-gradient(180deg, rgba(24,24,28,0.30), rgba(16,16,18,0.16));
}

.info-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}

.info-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  border:1px solid var(--red-soft);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.info-card:hover{
  transform:translateY(-3px);
  border-color:var(--red);
  box-shadow:0 5px 5px var(--red-soft);
}

.info-card h3{
  margin-bottom:12px;
  font-size:1.4rem;
  color:var(--white);
  text-decoration: underline var(--white) 2px;
  text-align: center;
}

.info-card p{
  color:#eef0f4;
  font-size:1.3rem;
  line-height:1.6;
  text-align: left;
}

/* ACESSO RÁPIDO */
.section-access{
  padding-top:20px;
  border-top: 1px solid var(--line);
}

.access-panel{
  background:
    linear-gradient(180deg, rgba(59,60,69,0.58), rgba(24,24,29,0.68));
  border:1px solid var(--red-soft);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.access-panel-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
  padding-bottom:20px;
  border-bottom:1px solid var(--line);
}

.access-panel-header h3{
  font-size:1.3rem;
  margin-bottom:6px;
}

.access-panel-header p{
  color:var(--gray);
  font-size:.98rem;
}

.access-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(225,6,19,0.14);
  border:1px solid rgba(225,6,19,0.24);
  color:var(--white);
  font-size:.84rem;
  font-weight:700;
  white-space:nowrap;
}

.quick-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}

.quick-card{
  display:block;
  padding:26px;
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
  border:1px solid var(--red);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
  box-shadow:0 10px 26px rgba(0,0,0,0.18);
}

.quick-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255, 86, 86, 0.42);
  background:
    linear-gradient(180deg, rgba(225,6,19,0.10), rgba(255,255,255,0.03));
  box-shadow:0 10px 10px var(--red-soft);
}

.no-hover-page .quick-card:hover {
  transform: none;
  border-color: var(--red);
  background: initial;
  box-shadow: none;
}

.quick-number{
  display:inline-block;
  margin-bottom:14px;
  padding:6px 10px;
  border-radius:10px;
  background:rgba(255,255,255,0.08);
  color:#ffffff;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
}

.quick-card h4{
  margin-bottom:10px;
  font-size:1.1rem;
  color:var(--white);
}

.quick-card p{
  color:#eef0f4;
  line-height:1.55;
  font-size:.98rem;
}

.update-info {
  margin-top:12px;
  color:var(--gray);
  font-size:.85rem;
  font-style:italic;
}

/* FOOTER */
.site-footer{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  min-height:50px;
  max-height:60px;
  padding:10px 40px;
  margin-top:40px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  background:
    linear-gradient(180deg, rgba(61, 61, 68, 0.94) 0%, rgba(80, 82, 92, 0.96) 52%, rgba(125, 125, 138, 0.94) 100%),
    linear-gradient(115deg,
      rgba(255,255,255,0.08) 0%,
      rgba(255,255,255,0.025) 16%,
      rgba(255,255,255,0.00) 34%,
      rgba(255,255,255,0.03) 52%,
      rgba(255,255,255,0.00) 70%,
      rgba(255,255,255,0.02) 100%);
  border-top:1px solid var(--red-soft);
  box-shadow:
    inset 0 1px 0 rgba(175, 6, 6, 0.04),
    0 -5px 8px rgba(204, 6, 6, 0.22);
}

.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(202, 193, 193, 0.025) 18%,
      transparent 34%,
      rgba(136, 133, 133, 0.018) 56%,
      transparent 74%,
      rgba(255,255,255,0.02) 100%);
  mix-blend-mode:screen;
  opacity:.55;
}

.footer-left,
.footer-right,
.footer-center{
  position:relative;
  z-index:1;
}

.footer-left{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  color:rgba(255,255,255,0.88);
  font-size:.95rem;
  font-weight:500;
  letter-spacing:.01em;
}

.footer-center{
  display:flex;
  align-items:center;
  justify-content:center;
}

.footer-center img{
  height:34px;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,0.28));
  opacity:.96;
}

.footer-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  color:rgba(255,255,255,0.86);
  font-size:.95rem;
  font-weight:500;
  text-align:right;
  flex-wrap:wrap;
}

.footer-right a{
  color:#ffffff;
  border-bottom:1px solid transparent;
  transition:all .22s ease;
}

.footer-right a:hover{
  color:#00c3ff;
  text-shadow: #05abf8 0 0 8px;
}

/* RESPONSIVO */
@media (max-width: 1100px){
  .info-grid,
  .quick-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hero p{
    max-width:70vw;
  }

  .nav-left img{
  display: none;
  }

.nav-right img{
 display: none;
}

}

@media (max-width: 980px){
  .nav{
    gap:8px;
    padding:8px 10px 9px;
    min-height:unset;
  }

  .nav-center{
    justify-content:center;
  }

  .nav-left img{
    display: none;
  }

  .nav-right img{
    display: none;
  }

  .nav-center{
    flex-wrap:wrap;
    gap:8px 10px;
    padding:0;
  }

  .hero{
    min-height:72vh;
    padding:0 8vw;
  }

  .hero h1{
    font-size:46px;
  }

  .hero p{
    font-size:1.12rem;
    max-width:100%;
    text-align:left;
  }

  .section{
    padding:64px 24px;
  }

  .access-panel-header{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width: 700px){
  .info-grid,
  .quick-grid{
    grid-template-columns:1fr;
  }

  .hero h1{
    font-size:36px;
  }

  .nav-center a{
    font-size:1rem;
  }

  .site-footer{
    grid-template-columns:1fr;
    gap:14px;
    padding:22px 20px;
    text-align:center;
    max-height:none;
  }

  .footer-left,
  .footer-center,
  .footer-right{
    justify-content:center;
    text-align:center;
  }

  .footer-right{
    gap:4px;
  }
}

/* PÁGINAS INTERNAS / MÓDULOS/AULAS */
.internal-hero{
  min-height: 42vh;
  display: flex;
  align-items: end;
  padding: 80px 60px 50px;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.78), rgba(0,0,0,0.28)),
    url('../img/hero.png') center/cover no-repeat;
  border-bottom: 1px solid var(--red);
}

.internal-hero-content{
  max-width: 980px;
}

.internal-kicker{
  display: inline-block;
  margin-bottom: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(225, 6, 19, 0.14);
  border: 1px solid var(--red-soft);
  color: #faf7f7;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.internal-hero h1{
  font-size: 54px;
  line-height: 1.08;
  margin-bottom: 16px;
}

.internal-hero p{
  max-width: 760px;
  color: #ffffff;
  font-size: 1.12rem;
  line-height: 1.6;
  font-size: 1.4rem;
}

.module-content{
  padding: 70px 60px 40px;
}

.module-shell{
  max-width: 1100px;
  margin: 0 auto;
}

.module-block{
  margin-bottom: 26px;
  padding: 28px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(76, 78, 87, 0.88), rgba(22, 23, 28, 0.84));
  border: 1px solid var(--red);
  box-shadow: 0 14px 38px rgba(0,0,0,0.28);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.module-block h2{
  font-size: 1.55rem;
  margin-bottom: 14px;
  color: var(--white);
}

.module-block h3{
  font-size: 1.08rem;
  margin: 18px 0 10px;
  color: #ffe3e6;
}

.module-block p{
  color: #f1f2f5;
  line-height: 1.7;
  margin-bottom: 12px;
  font-size: 1.4rem;
}

.module-block ul{
  margin: 10px 0 0 18px;
}

.module-block li{
  color: #f1f2f5;
  line-height: 1.7;
  margin-bottom: 8px;
  font-size: 1.3rem;
}

.module-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.module-link{
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.04);
  color: var(--white);
  transition: all .22s ease;
}

.module-link:hover{
  background: rgba(225, 6, 19, 0.12);
  border-color: rgba(255, 86, 86, 0.42);
}

.module-highlight{
  border-left: 4px solid var(--red);
  padding-left: 18px;
}

@media (max-width: 980px){
  .internal-hero{
    min-height: 34vh;
    padding: 60px 24px 36px;
  }

  .internal-hero h1{
    font-size: 40px;
  }

  .module-content{
    padding: 50px 24px 20px;
  }
}

@media (max-width: 700px){
  .internal-hero h1{
    font-size: 32px;
  }

  .internal-hero p{
    font-size: 1rem;
  }

  .module-block{
    padding: 22px;
  }
}

.module-image{
  margin-top: 16px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 12px 30px rgba(0,0,0,0.35);
}

.module-image img{
  width: 100%;
  display: block;
}

.module-caption{
  margin-top: 10px;
  font-size: 0.85rem;
  color: #b8bcc6;
}

.caderp-icon{
  max-width: 100px;
  margin-left: auto;
  margin-right: auto;
}

.login-caderp {
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}