 :root{
    --bg:#f8fbff;
    --container-max:1300px;
    --primary:#b2a2fc;
    --dark:#071422;
    --card:#ffffff;
    --muted:#071422b4;
    --radius:14px;
    --gap:28px;
    --shadow:0 8px 26px rgba(10,25,40,0.06);
    font-family:"Inter",system-ui,-apple-system,"Poppins",Arial;
  }

  *{box-sizing:border-box;margin:0;padding:0}
  body{background:var(--bg);color:var(--dark);line-height:1.6;scroll-behavior:smooth}

  a{color:var(--primary);text-decoration:none}

  .page{display:flex;flex-direction:column;min-height:100vh}

  /* HEADER */
  header{
    background:linear-gradient(90deg,#071422,#3a2c6b);
    color:#fff;
    padding:18px 0;
    box-shadow:0 4px 10px rgba(0,0,0,0.1);
    position:sticky;
    top:0;
    z-index:100;
  }

  .link-externo {
    font-size: 14px;
    text-align: center;
    padding: 1rem 0 0 0;
    font-weight: 400;
  }

   .link-externo i {
    font-size: .8rem;
    margin-left: .25rem;
   }

   .desq {
    font-weight: 600;
   }

  .container{
    width:100%;
    max-width:var(--container-max);
    margin:0 auto;
    padding:0 20px;
  }

  .container h3 {
    font-size: 1.5rem;
  }

  .topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .brand{
    display:flex;
    align-items:center;
    gap:20px;
  }

  .logo{
    width:52px;height:52px;
    border-radius:12px;
    background:rgba(178,162,252,0.3);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:18px;
    color:#fff;
  }

  .case-title{
    font-size:18px;
    font-weight:600;
    letter-spacing:0.4px;
    opacity:0.9;
  }

  .home-link{
    font-size:20px;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    transition:0.3s;
  }
  .home-link:hover{opacity:0.8}

  /* Animations */
  .scroll-fade{
    opacity:0;
    transform:translateY(25px);
    transition:opacity .8s ease, transform .8s ease;
  }
  .scroll-fade.visible{
    opacity:1;
    transform:translateY(0);
  }

  .top-area {
  background: linear-gradient(135deg,#eaeff7, #e1daf7);
  margin-bottom: 2rem;
}

  /* HERO */
  .hero{
    padding: 2rem 0 4rem 0;
    background: transparent;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1fr 500px;
    gap:3rem;
    align-items:center;
  }

  .card{
    background:var(--card);
    border-radius:var(--radius);
    padding:26px;
    box-shadow:0 10px 25px rgba(0,0,0,0.08);
    transition:0.3s;
  }
  .card:hover{transform:translateY(-4px)}

  h2{font-size:1.75rem;line-height:1.25;margin-bottom:2rem;color:#3a2c6b}

  .lead{color:var(--muted);max-width:100%; font-size: 1.125rem;}

  .cta-row{display:flex;gap:12px;margin-top:20px}

  .btn{
    background:var(--primary);
    color:#071422;
    padding:1rem 3rem;
    border-radius:25px;
    border:0;
    font-weight:600;
    cursor:pointer;
    transition:0.3s;
    font-size: 1.15rem;
  }

  .btn:hover{opacity:0.85}

  .btn.ghost{
    background:transparent;
    color:#071422;
    border:1px solid #071422;
  }

  /* STORY */
 
  .story-para{margin:12px 0;line-height:1.7}

  .steps, .steps-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
    margin: 1.5rem;
  }

  .steps-2 {
    display:grid;
    grid-template-columns:repeat(1, 1fr);
    gap:1.5rem;
    margin: 1.5rem;
  }

  .box-resultado {
    padding: 1rem;
    text-align: left;
  }

  .box-resultado h4 {
    font-size: 1.2rem;
    font-weight: 400;
  }

  .box-resultado h3 {
    font-size: 1.35rem;
    font-weight: 400;
    margin: .8rem 0 .5rem 0;
  }

  .box-resultado h3 span{
    font-weight: 800;
  }

  .step{
    background: #f0ecff9c;
    border-radius:12px;
    padding:1.5rem;
    min-height:180px;
    transition:0.3s;
  }
  .step:hover{transform:translateY(-4px)}

  .step ol, .step ul {
    padding: .5rem 0 0 1rem;
  }

  .step h5 {
    padding-left: 1rem;
  }

  /* RESULT */
  #result .card{text-align:center}
  #result img{
    width:100%;
   /* max-width:720px;*/
    border-radius:10px;
    margin-top:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.12);
    transition:0.3s;
  }
  #result img:hover{transform:scale(1.02)}

  /* MAIS CASES */
  .more-cases{
    margin-top:40px;
    padding:40px 20px;
    border-radius:var(--radius);
    text-align:center;
    box-shadow:var(--shadow);
  }

  .more-cases img{
    width:240px;
    border-radius:10px;
    transition:0.3s;
  }
  .more-cases img:hover{transform:scale(1.05)}

  .img-proxima-page {
  max-width: 980px;
  margin: auto;
  color:#3a2c6b;
}

.img-proxima-page img {
  box-shadow:0 4px 10px rgba(0,0,0,0.1);
}

.img-proxima-page h3 {
  font-size: 1.5rem;
}

.link-saber-mais {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  font-size: 1.2rem;
  color: #6e5fb2bb; /* sua paleta */
  text-decoration: none;
  transition: gap 0.25s ease, color 0.25s ease;
  margin-top: 1.25rem;
}

.link-saber-mais .arrow {
  transition: transform 0.25s ease;
}

.link-saber-mais:hover {
  gap: 10px;
  color: #c87bff;
}

.link-saber-mais:hover .arrow {
  transform: translateX(4px);
}


  /* FOOTER */
  footer{
    background:#071422;
    color:#e7e7e7;
    padding:30px 0;
    margin-top:auto;
  }
  .footer-grid{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:20px;
  }

  /* Botão flutuante */
  .floating-btn{
    position:fixed;
    bottom:30px;
    right:30px;
    background:var(--primary);
    color:#071422;
    padding:14px 18px;
    border-radius:50px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 6px 15px rgba(0,0,0,0.15);
    transition:0.3s;
    z-index:100;
  }
  .floating-btn:hover{background: #c87bff; /* tom mais quente como o CTA */
  transform: translateY(-5px);
  box-shadow: 0 18px 48px rgba(200,123,255,0.40);}

  .card img {
    width: 100%;
    border-radius: .5rem;
   /* box-shadow:0 2px 25px rgba(0, 0, 0, 0.171);*/
    margin-top: 1rem;
  }

  /* RESPONSIVO */
  @media(max-width:1024px){
    .hero-grid{grid-template-columns:1fr 360px}
    .steps{grid-template-columns:repeat(2,1fr)}
  }

  @media(max-width:780px){
    .hero-grid{grid-template-columns:1fr}
    .hero aside{order:-1}
    .steps{grid-template-columns:1fr}
    .footer-grid{flex-direction:column;}
    .project-content p {font-size: .95rem !important}
    .project-content h3 {font-size: 1.15rem; line-height: 1.8rem;}
    .more-cases {margin-top: 0; padding: 1.5rem 1rem;}
    .link-saber-mais {font-size: 1rem;}
    h2 {
      margin-bottom: 1.5rem;
    }
  }

  /* BREADCRUMB */
.breadcrumb {
  margin-top: 16px;
  margin-bottom: 8px;
  font-size: 0.875rem;
  background: transparent;
}

.breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0.25rem;
}

.breadcrumb li {
  display: flex;
  align-items: center;
  color: var(--muted);
}

.breadcrumb li + li::before {
  content: " / ";
  margin: 0 0.5rem;
  color: #9aa4b2;
}

.breadcrumb a {
  color: var(--primary);
  font-weight: 500;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

.breadcrumb [aria-current="page"] {
  color: var(--dark);
  font-weight: 600;
}

/* MOBILE */
@media (max-width: 780px) {

    .case-title {
        margin-right: 2rem;
    }

  .breadcrumb {
    text-align: center;
  }

  .breadcrumb ol {
    justify-content: center;
  }

  .hero {
    padding-bottom: 2.5rem;
  }

  .hero-grid {
    display: block;
  }

  .card {
    margin-top: 2rem;
  }

  .btn {
    width: 100%;
  }

  .project-cta {
    width: 100%;
    text-align: center;
  }

}

/* BOX EXTERNO */
.projects-box {
  background: #f8fbff;
  border-radius: 16px;
}

/* GRID INTERNO */
.projects-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-bottom: 3px solid #cdc3ec46;
}

/* CARD */
.project-card {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 50px;
  padding: 1cm 0;
  align-items: center;
}

.banner img {
  width: 100%;
}

/* IMAGEM */
.project-media img {
  width: 100%;
  border-radius: 12px;
  display: block;
}

/* CONTEÚDO */
.project-content h3 {
  font-size: 1.375rem;
  margin-bottom: 0.75rem;
  color: #3a2c6b;
}

.project-content p {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 1rem;
  color: #444;
}

/* TAGS */
.project-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}

.project-tags li {
  font-size: 0.7rem;
  font-weight: 400;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  border: 0.01rem solid #3a2c6b42;
  color: #3a2c6bab;
}

/* CTA */
.project-cta {
  display: inline-block;
  padding: 0.75rem 2rem;
  background: linear-gradient(135deg,#cdddf3, #d8d0f3);
  /*border: 2px solid #b2a2fc;*/
  color: #3a2c6b;
  border-radius: 25px;
  font-weight: 600;
  font-size: 1.25rem;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
  margin-bottom: 1rem;
}

.project-cta i {
  font-size: 1rem;
  margin-left: .35rem;
}

.project-cta:hover {
  transform: translateY(-2px);
  opacity: 0.9;
  background: #cdc3ec;
}

/* RESPONSIVO */
@media (max-width: 900px) {
  .project-card {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .projects-box {
    padding:1rem .5rem;
  }
}

.img-hover {
  overflow: hidden;
  border-radius: 10px; /* mantém o raio durante o zoom */
}

.img-hover img {
  width: 100%;
  display: block;
  transition: transform 0.4s ease;
}

.img-hover:hover img {
  transform: scale(1.08);
}


.project-media {
  position: relative;
}



/* Número */
.project-number {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 3.25rem;
  font-weight: 800;
  color: #ffffff;
  z-index: 2;
  /* Estado inicial (antes do scroll) */
  opacity: 0;
  transform: translateY(10px);
}

/* Estado animado */
.project-number.is-visible {
  animation: numberFadeUp 0.6s ease forwards;
}

@keyframes numberFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
