:root{
  --bg: #ffffff;
  --bg-soft: #f8fafc;
  --text: #2b192e;
  --text-soft: #6d5a68;
  --title: #02162f;

  --primary: rgb(4, 175, 187);      /* turquesa */
  --primary-dark: rgb(2, 22, 47);   /* azul-marinho */
  --primary-soft: rgba(4, 175, 187, 0.10);

  --green: rgb(186, 209, 97);
  --orange: rgb(246, 163, 53);
  --coral: rgb(234, 90, 51);
  --salmon: rgb(239, 130, 128);
  --pink: rgb(255, 84, 115);
  --magenta: rgb(148, 58, 97);
  --purple: rgb(110, 53, 114);
  --peach: rgb(255, 219, 184);
  --brown: rgb(117, 68, 66);
  --deep-purple: rgb(43, 25, 46);
  --blue: rgb(0, 135, 235);
  --cyan: rgb(0, 214, 202);
  --black: rgb(0, 0, 0);

  --border: #e7ecf3;
  --shadow-sm: 0 10px 30px rgba(20, 33, 61, 0.06);
  --shadow-md: 0 18px 50px rgba(20, 33, 61, 0.10);

  --radius-sm: 14px;
  --radius-md: 20px;
  --radius-lg: 28px;

  --transition: all 0.25s ease;
}

html{
  scroll-behavior: smooth;
}

body{
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.65;
}

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

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

section{
  position: relative;
}

.bg-light{
  background-color: var(--bg-soft) !important;
}

.text-white-75{
  color: rgba(255,255,255,.82) !important;
}

.rounded-4{
  border-radius: var(--radius-lg) !important;
}

.shadow-sm{
  box-shadow: var(--shadow-sm) !important;
}

/* ===== TIPOGRAFIA GERAL ===== */
.section-heading{
  margin-bottom: 1rem;
}

.section-kicker{
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 0.65rem;
}

.section-title{
  font-size: clamp(1.75rem, 2.8vw, 2.7rem);
  line-height: 1.12;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 0.9rem;
}

.section-subtitle{
  max-width: 760px;
  margin: 0 auto;
  color: var(--text-soft);
  font-size: 1.02rem;
}

.section-text{
  color: var(--text-soft);
  font-size: 1.02rem;
  max-width: 760px;
}

/* ===== BOTÕES ===== */
.btn{
  border-radius: 999px;
  font-weight: 700;
  padding: 0.9rem 1.45rem;
  transition: var(--transition);
  box-shadow: none !important;
}

.btn-lg{
  padding: 1rem 1.7rem;
  font-size: 1rem;
}

.btn-primary{
  background-color: var(--primary);
  border-color: var(--primary);
}

.btn-primary:hover,
.btn-primary:focus{
  background-color: var(--primary-dark);
  border-color: var(--primary-dark);
  transform: translateY(-2px);
}

.btn-outline-primary{
  color: var(--primary);
  border-color: var(--primary);
  background: transparent;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus{
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  transform: translateY(-2px);
}

.btn-light{
  background: #fff;
  color: var(--primary);
  border-color: #fff;
}

.btn-light:hover{
  background: #f4f7ff;
  color: var(--primary-dark);
  border-color: #f4f7ff;
  transform: translateY(-2px);
}

.btn-outline-light:hover{
  transform: translateY(-2px);
}

.btn-link-home{
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 700;
  color: var(--primary);
}

.btn-link-home:hover{
  color: var(--primary-dark);
  gap: 0.55rem;
}

/* ===== HEADER DOWNCHUTE - GUIA VISUAL ===== */
.down-header{
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(2,22,47,0.08);
}

.down-navbar{
  min-height: 92px;
  padding: 0.85rem 0;
}

.down-brand{
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  max-width: 310px;
}

.down-brand img{
  width: 100%;
  max-width: 280px;
  height: auto;
  object-fit: contain;
}

.down-navbar .nav-link{
  position: relative;
  color: rgb(2, 22, 47);
  font-weight: 800;
  font-size: 0.98rem;
  padding: 0.78rem 1rem !important;
  border-radius: 999px;
}

.down-navbar .nav-link:hover{
  color: rgb(4, 175, 187);
  background: rgba(4, 175, 187, 0.10);
}

.down-navbar .nav-link.active{
  color: rgb(2, 22, 47);
  background: linear-gradient(135deg, rgba(186,209,97,.28) 0%, rgba(0,214,202,.18) 100%);
  box-shadow: inset 0 0 0 1px rgba(4,175,187,.12);
}

.down-btn-header{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,135,235) 55%, rgb(110,53,114) 100%);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 0.95rem 1.45rem;
  font-weight: 800;
  box-shadow: 0 14px 28px rgba(4,175,187,.18);
}

.down-btn-header:hover{
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(0,135,235,.22);
}

.down-toggler{
  border: none;
  padding: 0.35rem;
  box-shadow: none !important;
}

.navbar-toggler-icon-custom{
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 30px;
  height: 24px;
}

.navbar-toggler-icon-custom span{
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 999px;
  background: rgb(2, 22, 47);
}

@media (max-width: 991.98px){
  .down-navbar{
    min-height: auto;
  }

  .down-brand img{
    max-width: 220px;
  }

  .down-navbar .navbar-collapse{
    background: #ffffff;
    margin-top: 1rem;
    border-radius: 24px;
    padding: 1rem;
    box-shadow: 0 20px 40px rgba(20,33,61,0.08);
  }

  .down-navbar .nav-link{
    border-radius: 16px;
  }

  .down-btn-header{
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 767.98px){
  .down-brand img{
    max-width: 190px;
  }
}

/* ===== CAMADAS DAS SEÇÕES ===== */
.section-z,
.hero-container{
  z-index: 2;
}

.section-home-about,
.section-pillars,
.section-projects,
.section-help,
.section-store,
.section-news,
.section-testimonials,
.section-cta-final{
  position: relative;
  overflow: hidden;
}

/* ===== PALAVRAS DECORATIVAS ===== */
.words-layer{
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.words-layer .w{
  position: absolute;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
  opacity: .16;
  letter-spacing: -0.02em;
}

.words-layer .tone-dark{
  color: #111827;
}

.words-layer .tone-blue{
  color: #1f2f5f;
}

.words-layer .tone-gray{
  color: #b9bec8;
}

.words-layer .tone-soft{
  color: #d6dae2;
}

.words-layer .word-thin{
  font-weight: 700;
}

.words-layer .word-bold{
  font-weight: 900;
}

.words-layer .opacity-strong{
  opacity: .82;
}

.words-layer .opacity-medium{
  opacity: .52;
}

.words-layer .opacity-soft{
  opacity: .48;
}

.words-layer .opacity-faint{
  opacity: .34;
}

.section-help .words-layer .w{
  color: rgba(255,255,255,.16);
  opacity: 1;
}

.section-help .words-layer .opacity-strong{
  color: rgba(255,255,255,.26);
}

.section-help .words-layer .opacity-medium{
  color: rgba(255,255,255,.18);
}

.section-help .words-layer .opacity-soft{
  color: rgba(255,255,255,.12);
}

.section-help .words-layer .opacity-faint{
  color: rgba(255,255,255,.08);
}

.words-layer .w{
  animation: wordsFloatIn 1.4s ease both;
}

@keyframes wordsFloatIn{
  from{
    opacity: 0;
    transform: translateY(12px);
  }
  to{
    transform: translateY(0);
  }
}

/* ===== HERO ===== */
.hero-home,
.hero-slider-section{
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
  background:
    radial-gradient(circle at 8% 18%, rgba(244, 197, 66, 0.18), transparent 20%),
    radial-gradient(circle at 92% 12%, rgba(138, 91, 209, 0.16), transparent 20%),
    radial-gradient(circle at 88% 85%, rgba(114, 184, 79, 0.14), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.hero-carousel{
  position: relative;
}

.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next{
  z-index: 30;
  pointer-events: auto;
}

.hero-image-wrapper,
.down-words-frame{
  position: relative;
  z-index: 2;
}

.hero-slide-row{
  min-height: 72vh;
}

.hero-copy-col{
  position: relative;
  z-index: 3;
}

.hero-media-col{
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: flex-end;
}

.hero-kicker{
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.hero-title{
  font-size: clamp(2.5rem, 5vw, 4.25rem);
  line-height: 1.05;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 0;
  max-width: 620px;
}

.hero-text{
  max-width: 580px;
  font-size: 1.05rem;
  color: var(--text-soft);
}

.hero-actions{
  margin-top: 1.6rem;
}

.hero-image-wrapper{
  width: 100%;
  max-width: 610px;
  margin-left: auto;
}

.hero-indicators{
  justify-content: flex-start;
  margin-bottom: 0;
  left: 0;
  right: auto;
  bottom: 12px;
  margin-left: 0;
  gap: 0.55rem;
}

.hero-indicators [data-bs-target]{
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 0;
  background: rgba(47, 111, 237, 0.25);
  opacity: 1;
}

.hero-indicators .active{
  background: #2f6fed;
  transform: scale(1.15);
}

.hero-control{
  width: auto;
  opacity: 1;
}

.hero-control-prev{
  left: auto;
  right: 84px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.hero-control-next{
  right: 18px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.hero-control-btn{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.95);
  color: #2f6fed;
  box-shadow: 0 12px 30px rgba(20, 33, 61, 0.10);
  font-size: 1rem;
  transition: all .25s ease;
}

.hero-control-btn:hover{
  background: #2f6fed;
  color: #fff;
  transform: translateY(-2px);
}

/* ===== FRAME COM PALAVRAS ===== */
.down-words-frame{
  position: relative;
  display: block;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  padding: 36px 40px;
}

.down-words-frame .frame-inner{
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(20, 33, 61, 0.12);
}

.down-words-frame .frame-inner img{
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
  border-radius: 28px;
}

.down-words-frame .frame-word{
  position: absolute;
  z-index: 1;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
}

.down-words-frame-hero .fw1{
  top: 2px;
  left: 20px;
  font-size: 32px;
  color: #b6bcc8;
}

.down-words-frame-hero .fw2{
  top: 0;
  right: 12px;
  font-size: 58px;
  color: #101828;
}

.down-words-frame-hero .fw3{
  left: -8px;
  top: 112px;
  font-size: 40px;
  color: #1f2937;
  transform: rotate(-90deg);
}

.down-words-frame-hero .fw4{
  right: -12px;
  top: 102px;
  font-size: 44px;
  color: #b6bcc8;
  transform: rotate(90deg);
}

.down-words-frame-hero .fw5{
  bottom: 10px;
  left: 18px;
  font-size: 48px;
  color: #101828;
}

.down-words-frame-hero .fw6{
  bottom: 14px;
  right: 18px;
  font-size: 32px;
  color: #b6bcc8;
}

/* ===== POSICIONAMENTO DAS PALAVRAS POR SEÇÃO ===== */
.hero-w1{ top: 34px; left: 30px; font-size: 44px; }
.hero-w2{ top: 62px; right: 78px; font-size: 34px; }
.hero-w3{ top: 165px; right: -8px; font-size: 30px; transform: rotate(90deg); }
.hero-w4{ bottom: 110px; left: -6px; font-size: 30px; transform: rotate(-90deg); }
.hero-w5{ bottom: 62px; right: 110px; font-size: 42px; }
.hero-w6{ bottom: 22px; left: 100px; font-size: 34px; }

.about-w1{ top: 28px; left: 28px; font-size: 38px; }
.about-w2{ top: 34px; right: 34px; font-size: 28px; }
.about-w3{ bottom: 24px; right: 60px; font-size: 40px; }
.about-w4{ bottom: 86px; left: -8px; font-size: 28px; transform: rotate(-90deg); }

.pillars-w1{ top: 18px; left: 32px; font-size: 34px; }
.pillars-w2{ top: 24px; right: 28px; font-size: 30px; }
.pillars-w3{ bottom: 18px; left: 36px; font-size: 36px; }
.pillars-w4{ bottom: 78px; right: -8px; font-size: 28px; transform: rotate(90deg); }

.projects-w1{ top: 18px; right: 36px; font-size: 34px; }
.projects-w2{ top: 110px; left: -10px; font-size: 28px; transform: rotate(-90deg); }
.projects-w3{ bottom: 26px; left: 44px; font-size: 38px; }
.projects-w4{ bottom: 22px; right: 22px; font-size: 28px; }

.help-w1{ top: 18px; left: 36px; font-size: 36px; }
.help-w2{ top: 24px; right: 28px; font-size: 28px; }
.help-w3{ bottom: 18px; left: 82px; font-size: 40px; }
.help-w4{ bottom: 82px; right: -6px; font-size: 28px; transform: rotate(90deg); }

.store-w1{ top: 20px; left: 36px; font-size: 34px; }
.store-w2{ top: 28px; right: 28px; font-size: 28px; }
.store-w3{ bottom: 20px; left: 48px; font-size: 36px; }
.store-w4{ bottom: 84px; right: -8px; font-size: 28px; transform: rotate(90deg); }

.news-w1{ top: 18px; left: 34px; font-size: 34px; }
.news-w2{ top: 28px; right: 32px; font-size: 28px; }
.news-w3{ bottom: 20px; left: 42px; font-size: 36px; }
.news-w4{ bottom: 80px; right: -8px; font-size: 26px; transform: rotate(90deg); }

.test-w1{ top: 22px; left: 44px; font-size: 32px; }
.test-w2{ top: 18px; right: 32px; font-size: 28px; }
.test-w3{ bottom: 16px; left: 28px; font-size: 36px; }
.test-w4{ bottom: 84px; right: -8px; font-size: 26px; transform: rotate(90deg); }

.cta-w1{ top: 18px; left: 42px; font-size: 32px; }
.cta-w2{ top: 24px; right: 34px; font-size: 28px; }
.cta-w3{ bottom: 16px; left: 46px; font-size: 36px; }
.cta-w4{ bottom: 80px; right: -6px; font-size: 26px; transform: rotate(90deg); }

/* ===== SOBRE ===== */
.section-home-about{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-home-about img{
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm);
  object-fit: cover;
  min-height: 420px;
  width: 100%;
}

/* ===== PILARES ===== */
.section-pillars{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.pillar-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 2rem 1.5rem;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  height: 100%;
}

.pillar-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.pillar-icon{
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  font-size: 1.6rem;
  color: #fff;
}

.section-pillars .col-md-6:nth-child(1) .pillar-icon{
  background: var(--primary);
}

.section-pillars .col-md-6:nth-child(2) .pillar-icon{
  background: var(--green);
}

.section-pillars .col-md-6:nth-child(3) .pillar-icon{
  background: var(--orange);
}

.section-pillars .col-md-6:nth-child(4) .pillar-icon{
  background: var(--purple);
}

.pillar-card h3{
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0.75rem;
}

.pillar-card p{
  margin-bottom: 0;
  color: var(--text-soft);
}

/* ===== PROJETOS ===== */
.section-projects{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.project-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.project-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.project-card img{
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.project-card-body{
  padding: 1.4rem 1.3rem 1.5rem;
}

.project-card-body h3{
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0.7rem;
}

.project-card-body p{
  color: var(--text-soft);
  margin-bottom: 0;
}

/* ===== COMO AJUDAR ===== */
.section-help{
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: var(--primary) !important;
  overflow: hidden;
}

.section-help::before{
  content: "";
  position: absolute;
  top: -60px;
  right: -40px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}

.section-help::after{
  content: "";
  position: absolute;
  bottom: -80px;
  left: -40px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
}

.section-help .section-title{
  color: #fff;
}

.help-actions .btn{
  min-width: 220px;
}

/* ===== LOJA ===== */
.section-store{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-store img{
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm);
  object-fit: cover;
  min-height: 360px;
  width: 100%;
}

/* ===== NOTÍCIAS ===== */
.section-news{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.news-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.news-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.news-card img{
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.news-card-body{
  padding: 1.3rem 1.25rem 1.5rem;
}

.news-date{
  display: inline-block;
  font-size: 0.83rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 0.7rem;
}

.news-card h3{
  font-size: 1.12rem;
  line-height: 1.35;
  font-weight: 800;
  margin-bottom: 0.8rem;
}

.news-card h3 a{
  color: var(--title);
}

.news-card h3 a:hover{
  color: var(--primary);
}

.news-card p{
  color: var(--text-soft);
  margin-bottom: 0;
}

/* ===== DEPOIMENTOS ===== */
.section-testimonials{
  padding-top: 5rem;
  padding-bottom: 5rem;
  background:
    radial-gradient(circle at top left, rgba(114,184,79,.08), transparent 18%),
    radial-gradient(circle at bottom right, rgba(233,90,168,.08), transparent 18%),
    #fff;
}

.testimonial-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 2rem;
  box-shadow: var(--shadow-sm);
  height: 100%;
}

.testimonial-text{
  font-size: 1.06rem;
  color: var(--text);
  margin-bottom: 1.4rem;
}

.testimonial-author{
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.testimonial-author strong{
  color: var(--title);
  font-size: 1rem;
}

.testimonial-author span{
  color: var(--text-soft);
  font-size: 0.95rem;
}

/* ===== CTA FINAL ===== */
.section-cta-final{
  padding-top: 5rem;
  padding-bottom: 6rem;
}

.cta-final-box{
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
  border: 1px solid var(--border);
  border-radius: 32px;
  padding: 3rem 2rem;
  box-shadow: var(--shadow-sm);
}

.cta-final-box .section-text{
  max-width: 700px;
}

/* ===== FOOTER DOWNCHUTE ===== */
.down-footer{
  background:
    radial-gradient(circle at top left, rgba(244,197,66,0.12), transparent 20%),
    radial-gradient(circle at bottom right, rgba(138,91,209,0.12), transparent 20%),
    linear-gradient(180deg, #1a2240 0%, #121a33 100%);
  color: rgba(255,255,255,0.82);
  padding-top: 4.5rem;
  padding-bottom: 1.5rem;
  margin-top: 0;
}

.footer-brand{
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.footer-brand img{
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: 50%;
  background: #fff;
  padding: 4px;
}

.footer-brand h4{
  color: #fff;
  font-size: 1.35rem;
  font-weight: 800;
  margin-bottom: 0.6rem;
}

.footer-brand p{
  margin-bottom: 0;
  color: rgba(255,255,255,0.74);
}

.footer-block h5{
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

.footer-block ul{
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-block ul li{
  margin-bottom: 0.7rem;
}

.footer-block ul li a{
  color: rgba(255,255,255,0.78);
  text-decoration: none;
}

.footer-block ul li a:hover{
  color: #fff;
}

.footer-contact-list li{
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: rgba(255,255,255,0.78);
}

.footer-contact-list i{
  color: #f4c542;
}

.footer-social{
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.2rem;
}

.footer-social a{
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-size: 1rem;
  transition: all 0.25s ease;
}

.footer-social a:hover{
  transform: translateY(-3px);
  background: linear-gradient(135deg, #2f6fed 0%, #7b61ff 100%);
  color: #fff;
}

.footer-bottom{
  margin-top: 3rem;
  padding-top: 1.3rem;
  border-top: 1px solid rgba(255,255,255,0.10);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
}

.footer-bottom p{
  margin: 0;
  font-size: 0.92rem;
  color: rgba(255,255,255,0.66);
}

/* ===== RESPONSIVO ===== */
@media (min-width: 992px){
  .hero-copy-col{
    width: 54%;
    padding-right: 2.5rem;
  }

  .hero-media-col{
    width: 46%;
  }
}

@media (max-width: 991.98px){
  .down-navbar{
    min-height: auto;
  }

  .down-navbar .navbar-collapse{
    background: #ffffff;
    margin-top: 1rem;
    border-radius: 24px;
    padding: 1rem;
    box-shadow: 0 20px 40px rgba(20,33,61,0.08);
  }

  .down-navbar .nav-link{
    border-radius: 16px;
  }

  .down-btn-header{
    width: 100%;
    text-align: center;
  }

  .hero-slide-row{
    min-height: auto;
  }

  .hero-title{
    font-size: clamp(2.2rem, 8vw, 3.2rem);
  }

  .section-title{
    font-size: clamp(1.8rem, 6vw, 2.5rem);
  }

  .hero-image-wrapper,
  .down-words-frame{
    max-width: 100%;
    margin-left: 0;
  }

  .down-words-frame{
    padding: 26px 28px;
  }

  .down-words-frame .frame-inner img{
    height: 300px;
  }

  .hero-indicators{
    position: relative;
    bottom: auto;
    margin-top: 1rem;
  }

  .hero-control-prev,
  .hero-control-next{
    display: none;
  }

  .help-actions .btn{
    min-width: 100%;
  }

  .section-home-about img,
  .section-store img{
    min-height: auto;
  }

  .cta-final-box{
    padding: 2.4rem 1.3rem;
  }

  .hero-w2,
  .hero-w3,
  .hero-w4,
  .hero-w5,
  .hero-w6,
  .about-w2,
  .about-w4,
  .pillars-w2,
  .pillars-w4,
  .projects-w2,
  .projects-w4,
  .help-w2,
  .help-w4,
  .store-w2,
  .store-w4,
  .news-w2,
  .news-w4,
  .test-w2,
  .test-w4,
  .cta-w2,
  .cta-w4{
    display: none;
  }

  .hero-w1,
  .about-w1,
  .pillars-w1,
  .projects-w1,
  .help-w1,
  .store-w1,
  .news-w1,
  .test-w1,
  .cta-w1{
    font-size: 38px;
    top: 18px;
    left: 18px;
  }

  .hero-home,
  .section-home-about,
  .section-pillars,
  .section-projects,
  .section-help,
  .section-store,
  .section-news,
  .section-testimonials,
  .section-cta-final{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

@media (max-width: 767.98px){
  .hero-slider-section{
    padding-top: 1rem;
    padding-bottom: 1.5rem;
  }

  .hero-title{
    font-size: clamp(2rem, 9vw, 2.9rem);
  }

  .hero-actions{
    flex-direction: column;
    align-items: stretch;
  }

  .hero-actions .btn{
    width: 100%;
  }

  .down-words-frame{
    padding: 18px 18px 28px;
  }

  .down-words-frame .frame-inner{
    border-radius: 22px;
  }

  .down-words-frame .frame-inner img{
    height: 230px;
    border-radius: 22px;
  }

  .down-words-frame-hero .fw1{
    font-size: 20px;
    left: 8px;
  }

  .down-words-frame-hero .fw2{
    font-size: 30px;
    right: 6px;
  }

  .down-words-frame-hero .fw3{
    font-size: 24px;
    left: -10px;
    top: 72px;
  }

  .down-words-frame-hero .fw4{
    font-size: 26px;
    right: -10px;
    top: 72px;
  }

  .down-words-frame-hero .fw5{
    font-size: 28px;
    left: 12px;
    bottom: 4px;
  }

  .down-words-frame-hero .fw6{
    font-size: 20px;
    right: 10px;
    bottom: 8px;
  }

  .project-card img,
  .news-card img{
    height: 210px;
  }

  .pillar-card,
  .testimonial-card{
    padding: 1.5rem;
  }

  .down-brand img{
    width: 50px;
    height: 50px;
  }

  .down-brand-text strong{
    font-size: 1.15rem;
  }

  .footer-brand{
    align-items: center;
  }

  .footer-bottom{
    flex-direction: column;
  }
}

/* ===== LOJA - CARROSSEL ===== */
.store-carousel{
  position: relative;
}

.store-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  height: 100%;
}

.store-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.store-card-image{
  background: linear-gradient(180deg, #f7f9ff 0%, #eef4ff 100%);
  padding: 1rem;
}

.store-card-image img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 18px;
}

.store-card-body{
  padding: 1.2rem 1.1rem 1.3rem;
}

.store-card-body h3{
  font-size: 1.08rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0.55rem;
}

.store-card-body p{
  color: var(--text-soft);
  font-size: 0.96rem;
  margin-bottom: 1rem;
}

.store-card .btn-sm{
  padding: 0.65rem 1rem;
  font-size: 0.9rem;
}

.store-carousel-controls{
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.store-carousel-btn{
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--primary);
  box-shadow: 0 10px 24px rgba(20,33,61,.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}

.store-carousel-btn:hover{
  background: var(--primary);
  color: #fff;
  transform: translateY(-2px);
}

@media (max-width: 767.98px){
  .store-card-image img{
    height: 190px;
  }

  .store-carousel-controls{
    justify-content: center;
  }
}

/* ===== PÁGINAS INTERNAS ===== */
.page-hero{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  background:
    radial-gradient(circle at 10% 20%, rgba(244, 197, 66, 0.14), transparent 20%),
    radial-gradient(circle at 90% 15%, rgba(138, 91, 209, 0.12), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

/* ===== IMAGENS GRANDES INTERNAS COM MOLDURA ===== */
.internal-hero-image,
.internal-highlight-image{
  width: 100%;
  max-width: 640px;
  margin-left: auto;
}

.internal-hero-image .down-words-frame,
.internal-highlight-image .down-words-frame{
  max-width: 100%;
  margin-left: auto;
}

.internal-hero-image .down-words-frame .frame-inner img{
  height: 360px;
  object-fit: cover;
}

.internal-highlight-image .down-words-frame .frame-inner img{
  height: 380px;
  object-fit: cover;
}

@media (max-width: 991.98px){
  .internal-hero-image,
  .internal-highlight-image{
    max-width: 100%;
    margin-left: 0;
  }

  .internal-hero-image .down-words-frame .frame-inner img,
  .internal-highlight-image .down-words-frame .frame-inner img{
    height: 300px;
  }
}

@media (max-width: 767.98px){
  .internal-hero-image .down-words-frame .frame-inner img,
  .internal-highlight-image .down-words-frame .frame-inner img{
    height: 220px;
  }
}

.section-page-content{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-mvv{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.info-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 2rem 1.5rem;
  box-shadow: var(--shadow-sm);
  height: 100%;
  transition: var(--transition);
}

.info-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.info-card-icon{
  width: 62px;
  height: 62px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.bg-blue{ background: var(--primary); }
.bg-green{ background: var(--green); }
.bg-purple{ background: var(--purple); }

.info-card h3{
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0.7rem;
}

.info-card p{
  margin-bottom: 0;
  color: var(--text-soft);
}

.section-page-pillars{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-impact{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.impact-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 2rem 1.5rem;
  box-shadow: var(--shadow-sm);
  height: 100%;
}

.impact-card strong{
  display: block;
  font-size: 1.35rem;
  color: var(--title);
  margin-bottom: 0.7rem;
}

.impact-card p{
  margin: 0;
  color: var(--text-soft);
}

@media (max-width: 991.98px){
  .page-hero{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

/* ===== NOSSA HISTÓRIA - TIMELINE EM BLOCOS ===== */
.section-page-history{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.history-timeline{
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}

.history-year-card{
  position: relative;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 28px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: var(--transition);
}

.history-year-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.history-year-content{
  padding: 1.4rem 1.4rem 1.5rem;
}

.history-year-badge{
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 3;
  min-width: 88px;
  height: 88px;
  border-radius: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  font-weight: 900;
  color: #fff;
  box-shadow: 0 14px 28px rgba(20,33,61,.14);
}

.history-year-image{
  padding-left: 110px;
  margin-bottom: 1rem;
}

.history-year-image img{
  width: 100%;
  height: 240px;
  object-fit: cover;
  border-radius: 22px;
  box-shadow: var(--shadow-sm);
}

.history-year-text{
  padding-left: 110px;
}

.history-year-text p{
  margin: 0;
  color: var(--text-soft);
  font-size: 1rem;
  line-height: 1.75;
}

/* Cores por ano */
.history-year-2016 .history-year-badge{
  background: linear-gradient(135deg, #8ccf8a 0%, #67b96d 100%);
}

.history-year-2016{
  background: linear-gradient(180deg, #f8fff5 0%, #ffffff 100%);
}

.history-year-2017 .history-year-badge{
  background: linear-gradient(135deg, #f0b45b 0%, #df9640 100%);
}

.history-year-2017{
  background: linear-gradient(180deg, #fff8ee 0%, #ffffff 100%);
}

.history-year-2018 .history-year-badge{
  background: linear-gradient(135deg, #ef8c6b 0%, #de7053 100%);
}

.history-year-2018{
  background: linear-gradient(180deg, #fff4f0 0%, #ffffff 100%);
}

.history-year-2019 .history-year-badge{
  background: linear-gradient(135deg, #d88bc5 0%, #ba67a5 100%);
}

.history-year-2019{
  background: linear-gradient(180deg, #fff4fc 0%, #ffffff 100%);
}

.history-year-2020 .history-year-badge{
  background: linear-gradient(135deg, #8db7f0 0%, #6799de 100%);
}

.history-year-2020{
  background: linear-gradient(180deg, #f2f8ff 0%, #ffffff 100%);
}

.history-year-2021 .history-year-badge{
  background: linear-gradient(135deg, #ae98e8 0%, #8c73d6 100%);
}

.history-year-2021{
  background: linear-gradient(180deg, #f7f3ff 0%, #ffffff 100%);
}

.history-year-2022 .history-year-badge{
  background: linear-gradient(135deg, #74d0d8 0%, #42b8c4 100%);
}

.history-year-2022{
  background: linear-gradient(180deg, #eefcfd 0%, #ffffff 100%);
}

@media (max-width: 991.98px){
  .history-year-image,
  .history-year-text{
    padding-left: 92px;
  }

  .history-year-badge{
    min-width: 72px;
    height: 72px;
    font-size: 1.15rem;
    border-radius: 20px;
  }

  .history-year-image img{
    height: 210px;
  }
}

@media (max-width: 767.98px){
  .history-year-content{
    padding: 1rem 1rem 1.2rem;
  }

  .history-year-badge{
    position: relative;
    top: auto;
    left: auto;
    margin: 1rem 1rem 0;
    min-width: 74px;
    height: 50px;
    border-radius: 14px;
    font-size: 1rem;
  }

  .history-year-image,
  .history-year-text{
    padding-left: 0;
  }

  .history-year-image{
    margin-bottom: 0.9rem;
  }

  .history-year-image img{
    height: 180px;
    border-radius: 18px;
  }

  .history-year-text p{
    font-size: 0.96rem;
  }
}

/* ===== PROJETOS - PÁGINA INTERNA ===== */
.section-projects-grid{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.project-feature-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.project-feature-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.project-feature-image{
  padding: 1rem 1rem 0;
}

.project-feature-image img{
  width: 100%;
  height: 235px;
  object-fit: cover;
  border-radius: 20px;
}

.project-feature-body{
  padding: 1.2rem 1.2rem 1.4rem;
}

.project-feature-body h3{
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0.7rem;
}

.project-feature-body p{
  margin-bottom: 0;
  color: var(--text-soft);
}

.project-tag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 0.9rem;
}

.section-project-highlight{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-project-highlight img{
  width: 100%;
  min-height: 380px;
  object-fit: cover;
}

@media (max-width: 991.98px){
  .section-project-highlight img{
    min-height: auto;
  }
}

@media (max-width: 767.98px){
  .project-feature-image img{
    height: 210px;
  }
}

/* ===== NOTÍCIAS - PÁGINA INTERNA ===== */
.section-news-header{
  padding-top: 5rem;
  padding-bottom: 2rem;
}

.news-filters{
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-start;
}

/* ===== NOTÍCIAS - FILTROS ===== */
.section-news-header{
  padding-top: 5rem;
  padding-bottom: 2.5rem;
}

.news-filters-bar{
  margin-top: 2rem;
  background: rgba(255,255,255,.78);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 1.25rem;
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(8px);
}

.news-filters-label{
  display: inline-block;
  margin-bottom: 0.55rem;
  font-size: 0.84rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-soft);
}

.news-select{
  height: 52px;
  border-radius: 16px;
  border: 1px solid var(--border);
  color: var(--title);
  font-weight: 600;
  box-shadow: none !important;
}

.news-select:focus{
  border-color: rgba(47,111,237,.35);
  box-shadow: 0 0 0 0.2rem rgba(47,111,237,.10) !important;
}

.news-filter-btn{
  height: 52px;
}

@media (max-width: 767.98px){
  .section-news-header{
    padding-top: 4rem;
    padding-bottom: 2rem;
  }

  .news-filters-bar{
    margin-top: 1.5rem;
    padding: 1rem;
    border-radius: 20px;
  }

  .news-select,
  .news-filter-btn{
    height: 48px;
  }
}

.section-news-grid{
  padding-top: 3rem;
  padding-bottom: 5rem;
}

.news-feature-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.news-feature-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.news-feature-image{
  padding: 1rem 1rem 0;
}

.news-feature-image img{
  width: 100%;
  height: 235px;
  object-fit: cover;
  border-radius: 20px;
}

.news-feature-body{
  padding: 1.2rem 1.2rem 1.4rem;
}

.news-meta{
  display: inline-block;
  font-size: 0.84rem;
  font-weight: 800;
  color: var(--primary);
  margin-bottom: 0.75rem;
}

.news-feature-body h3{
  font-size: 1.18rem;
  line-height: 1.35;
  font-weight: 800;
  margin-bottom: 0.8rem;
}

.news-feature-body h3 a{
  color: var(--title);
}

.news-feature-body h3 a:hover{
  color: var(--primary);
}

.news-feature-body p{
  color: var(--text-soft);
  margin-bottom: 1rem;
}

.news-pagination{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 2.2rem;
}

.news-page-btn{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--border);
  color: var(--title);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  transition: var(--transition);
}

.news-page-btn:hover,
.news-page-btn.active{
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}

@media (max-width: 991.98px){
  .section-news-header{
    padding-top: 4rem;
  }
}

@media (max-width: 767.98px){
  .news-feature-image img{
    height: 210px;
  }

  .news-filters{
    margin-top: 0.5rem;
  }
}

/* ===== NOTÍCIA - PÁGINA INTERNA ===== */
.section-post-content{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.post-article{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 2rem;
  box-shadow: var(--shadow-sm);
}

.post-main-image img{
  width: 100%;
  max-height: 430px;
  object-fit: cover;
}

.post-article p{
  color: var(--text-soft);
  font-size: 1.02rem;
  line-height: 1.85;
  margin-bottom: 1.2rem;
}

.post-article h2{
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--title);
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.post-quote{
  margin: 2rem 0;
  padding: 1.4rem 1.5rem;
  border-left: 5px solid var(--primary);
  background: #f8fbff;
  border-radius: 0 18px 18px 0;
  color: var(--title);
  font-weight: 700;
}

.post-meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  color: var(--text-soft);
  font-weight: 600;
}

.post-meta-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 0.82rem;
  font-weight: 800;
}

.post-meta-sep{
  color: #a0a9b5;
}

.post-sidebar{
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.sidebar-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 1.4rem 1.3rem;
  box-shadow: var(--shadow-sm);
}

.sidebar-card h3{
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0.9rem;
}

.sidebar-card p{
  margin-bottom: 0;
  color: var(--text-soft);
}

.sidebar-list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-list li{
  color: var(--text-soft);
  margin-bottom: 0.7rem;
}

.sidebar-social{
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin-top: 1rem;
}

.sidebar-social a{
  color: var(--primary);
  font-weight: 700;
}

.sidebar-social a:hover{
  color: var(--primary-dark);
}

.section-post-gallery{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.post-gallery-card{
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.post-gallery-card img{
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.section-related-news{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (max-width: 991.98px){
  .post-main-image img{
    max-height: none;
  }
}

@media (max-width: 767.98px){
  .post-article{
    padding: 1.3rem;
    border-radius: 22px;
  }

  .post-gallery-card img{
    height: 210px;
  }

  .post-article h2{
    font-size: 1.3rem;
  }
}

/* ===== LOJA - PÁGINA INTERNA ===== */
.section-store-header{
  padding-top: 5rem;
  padding-bottom: 2.5rem;
}

.store-filters-bar{
  margin-top: 2rem;
  background: rgba(255,255,255,.78);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 1.25rem;
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(8px);
}

.store-filters-label{
  display: inline-block;
  margin-bottom: 0.55rem;
  font-size: 0.84rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-soft);
}

.store-select{
  height: 52px;
  border-radius: 16px;
  border: 1px solid var(--border);
  color: var(--title);
  font-weight: 600;
  box-shadow: none !important;
}

.store-select:focus{
  border-color: rgba(47,111,237,.35);
  box-shadow: 0 0 0 0.2rem rgba(47,111,237,.10) !important;
}

.store-filter-btn{
  height: 52px;
}

.section-store-grid{
  padding-top: 3rem;
  padding-bottom: 5rem;
}

.product-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.product-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.product-card-image{
  padding: 1rem 1rem 0;
}

.product-card-image img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 20px;
}

.product-card-body{
  padding: 1.2rem 1.15rem 1.3rem;
}

.product-category{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.42rem 0.75rem;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 0.8rem;
  font-weight: 800;
  margin-bottom: 0.8rem;
}

.product-card-body h3{
  font-size: 1.08rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0.6rem;
}

.product-card-body p{
  color: var(--text-soft);
  font-size: 0.96rem;
  margin-bottom: 1rem;
}

.product-card-bottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.product-card-bottom strong{
  color: var(--title);
  font-size: 1.02rem;
}

.section-store-highlight{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (max-width: 767.98px){
  .store-filters-bar{
    margin-top: 1.5rem;
    padding: 1rem;
    border-radius: 20px;
  }

  .store-select,
  .store-filter-btn{
    height: 48px;
  }

  .product-card-image img{
    height: 200px;
  }

  .product-card-bottom{
    flex-direction: column;
    align-items: stretch;
  }

  .product-card-bottom .btn{
    width: 100%;
  }
} 

/* ===== COMO AJUDAR - PÁGINA INTERNA ===== */
.section-help-intro{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-help-options{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.help-card{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 26px;
  padding: 2rem 1.5rem;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.help-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.help-card-icon{
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.bg-blue{ background: var(--primary); }
.bg-green{ background: var(--green); }
.bg-orange{ background: var(--orange); }
.bg-purple{ background: var(--purple); }

.help-card h3{
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0.75rem;
}

.help-card p{
  margin-bottom: 0;
  color: var(--text-soft);
}

.section-help-highlight{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-help-contact{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.help-info-box{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 2rem 1.7rem;
  box-shadow: var(--shadow-sm);
  height: 100%;
}

.help-info-box h3{
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0.9rem;
}

.help-info-box p{
  color: var(--text-soft);
  margin-bottom: 0;
}

@media (max-width: 767.98px){
  .help-card,
  .help-info-box{
    padding: 1.5rem 1.2rem;
  }

  .help-info-box h3{
    font-size: 1.2rem;
  }
}

/* ===== HEADER TRANSPARENTE / HERO FULLSCREEN ===== */
.has-transparent-header .down-header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  border-bottom: 1px solid transparent;
  backdrop-filter: none;
  transition: all .28s ease;
}

.has-transparent-header .down-header.is-scrolled{
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(2,22,47,0.08);
  backdrop-filter: blur(14px);
}

.down-brand{
  max-width: 280px;
}

.down-brand .logo-white,
.down-brand .logo-color{
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.down-brand .logo-color{
  display: none;
}

.has-transparent-header .down-header--transparent .logo-white{
  display: block;
}

.has-transparent-header .down-header--transparent .logo-color{
  display: none;
}

.has-transparent-header .down-header.is-scrolled .logo-white{
  display: none;
}

.has-transparent-header .down-header.is-scrolled .logo-color{
  display: block;
}

.has-transparent-header .down-header--transparent .nav-link{
  color: #fff;
}

.has-transparent-header .down-header--transparent .nav-link:hover{
  color: #fff;
  background: rgba(255,255,255,.14);
}

.has-transparent-header .down-header--transparent .nav-link.active{
  color: #fff;
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

.has-transparent-header .down-header--transparent .down-btn-header{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,135,235) 55%, rgb(110,53,114) 100%);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 0.95rem 1.45rem;
  font-weight: 800;
  box-shadow: 0 14px 28px rgba(4,175,187,.18);
}

.has-transparent-header .down-header--transparent .down-btn-header:hover{
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(0,135,235,.22);
}

.has-transparent-header .down-header--transparent .navbar-toggler-icon-custom span{
  background: #fff;
}

.has-transparent-header .down-header.is-scrolled .nav-link{
  color: rgb(2, 22, 47);
}

.has-transparent-header .down-header.is-scrolled .nav-link:hover{
  color: rgb(4, 175, 187);
  background: rgba(4, 175, 187, 0.10);
}

.has-transparent-header .down-header.is-scrolled .nav-link.active{
  color: rgb(2, 22, 47);
  background: linear-gradient(135deg, rgba(186,209,97,.28) 0%, rgba(0,214,202,.18) 100%);
  box-shadow: inset 0 0 0 1px rgba(4,175,187,.12);
}

.has-transparent-header .down-header.is-scrolled .down-btn-header{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,135,235) 55%, rgb(110,53,114) 100%);
  color: #fff;
  border: none;
}

.has-transparent-header .down-header.is-scrolled .navbar-toggler-icon-custom span{
  background: rgb(2, 22, 47);
}

/* ===== HERO HOME FULL ===== */
.home-hero-full{
  min-height: 100vh;
  position: relative;
  background: #000;
}

.home-hero-media{
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home-hero-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-hero-overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(2,22,47,.72) 0%, rgba(2,22,47,.46) 38%, rgba(2,22,47,.18) 100%),
    linear-gradient(180deg, rgba(2,22,47,.18) 0%, rgba(2,22,47,.10) 100%);
}

.home-hero-words{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.home-hero-words .hero-word{
  position: absolute;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  user-select: none;
  letter-spacing: -0.03em;
}

.home-hero-words .hw1{
  top: 140px;
  right: 8%;
  font-size: 42px;
  color: rgba(255,255,255,.18);
}

.home-hero-words .hw2{
  bottom: 120px;
  right: 12%;
  font-size: 30px;
  color: rgba(255,255,255,.12);
}

.home-hero-words .hw3{
  bottom: 80px;
  left: 5%;
  font-size: 28px;
  color: rgba(255,255,255,.10);
  transform: rotate(-90deg);
}

.home-hero-container{
  position: relative;
  z-index: 3;
}

.home-hero-content{
  max-width: 720px;
  padding-top: 110px;
}

.home-hero-kicker{
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.14);
  margin-bottom: 1.1rem;
}

.home-hero-title{
  font-size: clamp(2.8rem, 6vw, 5.3rem);
  line-height: 1.02;
  font-weight: 900;
  color: #fff;
  margin-bottom: 1.2rem;
  max-width: 820px;
}

.home-hero-text{
  max-width: 650px;
  font-size: 1.14rem;
  line-height: 1.8;
  color: rgba(255,255,255,.88);
  margin-bottom: 2rem;
}

.home-hero-actions .btn-light{
  background: #fff;
  color: rgb(2,22,47);
  border-color: #fff;
}

.home-hero-actions .btn-light:hover{
  background: #f3f6fb;
  color: rgb(2,22,47);
}

.home-hero-actions .btn-outline-light{
  background: transparent;
  border-color: rgba(255,255,255,.5);
  color: #fff;
}

.home-hero-actions .btn-outline-light:hover{
  background: rgba(255,255,255,.12);
  color: #fff;
  border-color: rgba(255,255,255,.65);
}

.home-hero-scroll{
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 4;
  width: 42px;
  height: 62px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12px;
}

.home-hero-scroll span{
  width: 6px;
  height: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  animation: heroScroll 1.6s infinite;
}

@keyframes heroScroll{
  0%{ transform: translateY(0); opacity: 1; }
  100%{ transform: translateY(18px); opacity: 0; }
}

@media (max-width: 991.98px){
  .has-transparent-header .down-header--transparent .navbar-collapse{
    background: rgba(10, 23, 44, .92);
    backdrop-filter: blur(10px);
    border-radius: 22px;
    padding: 1rem;
    margin-top: 1rem;
  }

  .has-transparent-header .down-header--transparent .nav-link{
    color: #fff;
  }

  .has-transparent-header .down-header--transparent .down-btn-header{
    width: 100%;
  }

  .home-hero-content{
    padding-top: 120px;
  }

  .home-hero-title{
    font-size: clamp(2.4rem, 8vw, 4rem);
  }

  .home-hero-words .hw1{
    top: 120px;
    right: 6%;
    font-size: 30px;
  }

  .home-hero-words .hw2{
    bottom: 110px;
    right: 8%;
    font-size: 24px;
  }

  .home-hero-words .hw3{
    display: none;
  }
}

@media (max-width: 767.98px){
  .down-brand{
    max-width: 210px;
  }

  .home-hero-content{
    padding-top: 110px;
  }

  .home-hero-title{
    font-size: clamp(2.2rem, 10vw, 3.2rem);
  }

  .home-hero-text{
    font-size: 1rem;
    line-height: 1.7;
  }

  .home-hero-actions{
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero-actions .btn{
    width: 100%;
  }

  .home-hero-words .hw1,
  .home-hero-words .hw2{
    font-size: 22px;
  }
}

/* ===== HERO HOME SLIDER ===== */
.home-hero-slider{
  min-height: 96svh;
  position: relative;
  background: #000;
}

.home-hero-carousel,
.home-hero-slide{
  min-height: 96svh;
}

.home-hero-slide{
  position: relative;
}

.home-hero-media{
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home-hero-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.home-hero-overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(2,22,47,.70) 0%, rgba(2,22,47,.40) 38%, rgba(2,22,47,.14) 100%),
    linear-gradient(180deg, rgba(2,22,47,.14) 0%, rgba(2,22,47,.10) 100%);
}

.home-hero-words{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.home-hero-words .hero-word{
  position: absolute;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  user-select: none;
  letter-spacing: -0.03em;
}

.home-hero-words .hw1{
  top: 145px;
  right: 8%;
  font-size: 48px;
  color: rgba(186,209,97,.58);
}

.home-hero-words .hw2{
  bottom: 108px;
  right: 10%;
  font-size: 34px;
  color: rgba(255,219,184,.48);
}

.home-hero-words .hw3{
  bottom: 86px;
  left: 5%;
  font-size: 32px;
  color: rgba(0,214,202,.42);
  transform: rotate(-90deg);
}

.home-hero-container{
  position: relative;
  z-index: 3;
}

.home-hero-row{
  min-height: 96svh;
  padding-top: 1.2rem;
  padding-bottom: 6rem;
}

.home-hero-content{
  max-width: 620px;
  padding-top: 12px;
}

.home-hero-title{
  font-size: clamp(2.1rem, 4vw, 3.95rem);
  line-height: .98;
  font-weight: 900;
  color: #fff;
  margin-bottom: 1.35rem;
  max-width: 620px;
  text-wrap: balance;
  text-shadow: 0 8px 24px rgba(2,22,47,.18);
}

.hero-title-small{
  font-size: .65em;
}

.hero-title-down{
  position: relative;
  display: inline-block;
}

.hero-heart{
  position: absolute;
  display: block;
  width: 14px;
  height: 14px;
  border: 4px solid #000;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  border-bottom-left-radius: 14px;
  background: rgb(246, 163, 53);
  transform: rotate(-45deg);
}

.hero-heart::before,
.hero-heart::after{
  content: "";
  position: absolute;
  background: inherit;
  border-radius: 50%;
}

.hero-heart::before{
  width: 14px;
  height: 14px;
  top: -8px;
  left: -4px;
}

.hero-heart::after{
  width: 14px;
  height: 14px;
  top: -4px;
  left: 4px;
}

.hero-heart-1{
  top: 8px;
  right: -22px;
  background: rgb(186, 209, 97);
  transform: rotate(-45deg) scale(.75);
}

.hero-heart-2{
  top: -6px;
  right: -46px;
  background: rgb(246, 163, 53);
  transform: rotate(-45deg) scale(.95);
}

.hero-heart-3{
  top: 4px;
  right: -68px;
  background: rgb(239, 130, 128);
  transform: rotate(-45deg) scale(.68);
}

.home-hero-actions .btn-light{
  background: #fff;
  color: rgb(2,22,47);
  border-color: #fff;
}

.home-hero-actions .btn-light:hover{
  background: rgb(186,209,97);
  border-color: rgb(186,209,97);
  color: rgb(2,22,47);
}

.btn-hero-color{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,135,235) 55%, rgb(110,53,114) 100%);
  color: #fff;
  border: none;
}

.btn-hero-color:hover{
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(2,22,47,.18);
}

.home-hero-indicators{
  margin-bottom: 1.8rem;
  z-index: 5;
}

.home-hero-indicators [data-bs-target]{
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,.36);
  opacity: 1;
}

.home-hero-indicators .active{
  background: rgb(4,175,187);
}

.home-hero-scroll{
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  z-index: 6;
  width: 42px;
  height: 62px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12px;
}

.home-hero-scroll span{
  width: 6px;
  height: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  animation: heroScroll 1.6s infinite;
}

@keyframes heroScroll{
  0%{ transform: translateY(0); opacity: 1; }
  100%{ transform: translateY(18px); opacity: 0; }
}

@media (max-width: 991.98px){
  .home-hero-slider,
  .home-hero-carousel,
  .home-hero-slide,
  .home-hero-row{
    min-height: 92svh;
  }

  .home-hero-title{
    font-size: clamp(2rem, 6.8vw, 3.4rem);
    max-width: 520px;
  }

  .home-hero-words .hw1{
    top: 120px;
    right: 6%;
    font-size: 34px;
  }

  .home-hero-words .hw2{
    bottom: 105px;
    right: 8%;
    font-size: 26px;
  }

  .home-hero-words .hw3{
    display: none;
  }
}

@media (max-width: 767.98px){
  .home-hero-slider,
  .home-hero-carousel,
  .home-hero-slide,
  .home-hero-row{
    min-height: 88svh;
  }

  .home-hero-title{
    font-size: clamp(1.9rem, 8.8vw, 2.85rem);
  }

  .home-hero-actions{
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero-actions .btn{
    width: 100%;
  }

  .home-hero-words .hw1,
  .home-hero-words .hw2{
    font-size: 24px;
  }

  .hero-heart-1,
  .hero-heart-2,
  .hero-heart-3{
    display: none;
  }
}

.down-brand{
  position: relative;
  display: inline-flex;
  align-items: center;
  max-width: 235px;
}

.down-brand img{
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.logo-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 18px;
  padding: .45rem .7rem;
  box-shadow: 0 10px 28px rgba(2,22,47,.10);
}

.logo-pill-img{
  display: block;
}

.logo-plain-img{
  display: none;
}

/* NO HERO: mostra a versão com fundo branco */
.has-transparent-header .down-header--transparent .logo-pill{
  display: inline-flex;
}

.has-transparent-header .down-header--transparent .logo-plain-img{
  display: none;
}

/* APÓS SCROLL: mostra a versão sem fundo */
.has-transparent-header .down-header.is-scrolled .logo-pill{
  display: none;
}

.has-transparent-header .down-header.is-scrolled .logo-plain-img{
  display: block;
}

/* SE NÃO FOR HEADER TRANSPARENTE */
body:not(.has-transparent-header) .logo-pill{
  display: none;
}

body:not(.has-transparent-header) .logo-plain-img{
  display: block;
}

.has-transparent-header .down-header--transparent .nav-link{
  color: #fff;
  text-shadow: 0 1px 10px rgba(0,0,0,.20);
}

.has-transparent-header .down-header--transparent .nav-link:hover{
  color: rgb(186, 209, 97);
  background: rgba(4,175,187,.20);
}

.has-transparent-header .down-header--transparent .nav-link.active{
  color: #fff;
  background: linear-gradient(135deg, rgba(4,175,187,.28) 0%, rgba(0,135,235,.22) 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}

/* ===== NOSSOS NÚMEROS ===== */
.section-impact-numbers{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.impact-number-card{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 2rem 1.5rem;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  text-align: center;
  height: 100%;
  backdrop-filter: blur(8px);
}

.impact-number-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.impact-number-icon{
  width: 68px;
  height: 68px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.55rem;
  margin-bottom: 1.15rem;
}

.impact-icon-cyan{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,214,202) 100%);
}

.impact-icon-green{
  background: linear-gradient(135deg, rgb(186,209,97) 0%, rgb(120,184,79) 100%);
}

.impact-icon-orange{
  background: linear-gradient(135deg, rgb(246,163,53) 0%, rgb(234,90,51) 100%);
}

.impact-icon-coral{
  background: linear-gradient(135deg, rgb(239,130,128) 0%, rgb(234,90,51) 100%);
}

.impact-icon-pink{
  background: linear-gradient(135deg, rgb(255,84,115) 0%, rgb(148,58,97) 100%);
}

.impact-icon-purple{
  background: linear-gradient(135deg, rgb(110,53,114) 0%, rgb(43,25,46) 100%);
}

.impact-icon-blue{
  background: linear-gradient(135deg, rgb(0,135,235) 0%, rgb(4,175,187) 100%);
}

.impact-number-value{
  font-size: clamp(2.5rem, 4vw, 3.8rem);
  line-height: 1;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 0.75rem;
}

.impact-number-value--complement{
  margin-bottom: 0.9rem;
}

.impact-number-card h3{
  font-size: 1.08rem;
  font-weight: 800;
  color: var(--title);
  margin-bottom: 0;
}

.impact-number-card p{
  color: var(--text-soft);
  margin-top: 0.75rem;
  margin-bottom: 0;
  font-size: 0.95rem;
}

@media (max-width: 767.98px){
  .impact-number-card{
    padding: 1.6rem 1.2rem;
    border-radius: 22px;
  }

  .impact-number-icon{
    width: 60px;
    height: 60px;
    border-radius: 18px;
    font-size: 1.35rem;
  }

  .impact-number-card h3{
    font-size: 1rem;
  }
}

/* ===== PROJETOS - GRADE HOME ===== */
.section-projects-grid-home{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.projects-mosaic{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1rem;
}

.project-mosaic-card{
  position: relative;
  grid-column: span 4;
  min-height: 280px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  isolation: isolate;
  cursor: pointer;
}

.project-card-large{
  grid-column: span 6;
  grid-row: span 2;
  min-height: 576px;
}

.project-card-wide{
  grid-column: span 6;
}

.project-mosaic-card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}

.project-mosaic-card::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2,22,47,.08) 0%, rgba(2,22,47,.62) 100%);
  z-index: 1;
  transition: opacity .35s ease;
}

.project-mosaic-overlay{
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  padding: 1.4rem;
}

.project-mosaic-content{
  width: 100%;
  transform: translateY(18px);
  opacity: 0;
  transition: all .35s ease;
}

.project-mosaic-content h3{
  font-size: 1.35rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 0.45rem;
}

.project-mosaic-content p{
  color: rgba(255,255,255,.88);
  margin-bottom: 0;
  line-height: 1.6;
  font-size: 0.95rem;
  max-width: 420px;
}

.project-mosaic-card:hover img{
  transform: scale(1.06);
}

.project-mosaic-card:hover::after{
  opacity: 1;
  background: linear-gradient(180deg, rgba(2,22,47,.12) 0%, rgba(2,22,47,.78) 100%);
}

.project-mosaic-card:hover .project-mosaic-content{
  transform: translateY(0);
  opacity: 1;
}

@media (max-width: 1199.98px){
  .project-mosaic-card{
    min-height: 250px;
  }

  .project-card-large{
    min-height: 516px;
  }
}

@media (max-width: 991.98px){
  .projects-mosaic{
    grid-template-columns: repeat(2, 1fr);
  }

  .project-mosaic-card,
  .project-card-large,
  .project-card-wide{
    grid-column: auto;
    grid-row: auto;
    min-height: 280px;
  }

  .project-mosaic-content{
    transform: none;
    opacity: 1;
  }

  .project-mosaic-card::after{
    background: linear-gradient(180deg, rgba(2,22,47,.12) 0%, rgba(2,22,47,.74) 100%);
  }
}

@media (max-width: 767.98px){
  .projects-mosaic{
    grid-template-columns: 1fr;
  }

  .project-mosaic-card,
  .project-card-large,
  .project-card-wide{
    min-height: 240px;
    border-radius: 22px;
  }

  .project-mosaic-overlay{
    padding: 1.1rem;
  }

  .project-mosaic-content h3{
    font-size: 1.15rem;
  }

  .project-mosaic-content p{
    font-size: 0.9rem;
  }
}

/* ===== PROJETOS - JANELAS HOME ===== */
.section-projects-windows{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-projects-windows .section-subtitle{
  max-width: 760px;
}

.projects-windows-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
  max-width: 1180px;
  margin: 0 auto;
}

.project-window-card{
  position: relative;
  min-height: 320px;
  border-radius: 30px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(2,22,47,.08);
  box-shadow: 0 18px 42px rgba(20,33,61,.08);
  isolation: isolate;
  transition: var(--transition);
}

.project-window-card::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2,22,47,.06) 0%, rgba(2,22,47,.78) 100%);
  z-index: 1;
  transition: var(--transition);
}

.project-window-card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}

.project-window-overlay{
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  padding: 1.35rem;
}

.project-window-content{
  width: 100%;
  transform: translateY(18px);
  opacity: 0;
  transition: all .35s ease;
}

.project-window-content h3{
  font-size: 1.2rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 0.45rem;
}

.project-window-content p{
  color: rgba(255,255,255,.90);
  margin-bottom: 0;
  line-height: 1.6;
  font-size: 0.94rem;
}

.project-window-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 54px rgba(20,33,61,.14);
}

.project-window-card:hover img{
  transform: scale(1.05);
}

.project-window-card:hover .project-window-content{
  transform: translateY(0);
  opacity: 1;
}

/* HOVERS POR COR */
.project-hover-cyan:hover::after{
  background: linear-gradient(180deg, rgba(4,175,187,.14) 0%, rgba(0,214,202,.82) 100%);
}

.project-hover-green:hover::after{
  background: linear-gradient(180deg, rgba(186,209,97,.14) 0%, rgba(120,184,79,.82) 100%);
}

.project-hover-orange:hover::after{
  background: linear-gradient(180deg, rgba(246,163,53,.14) 0%, rgba(234,90,51,.82) 100%);
}

.project-hover-coral:hover::after{
  background: linear-gradient(180deg, rgba(239,130,128,.14) 0%, rgba(234,90,51,.84) 100%);
}

.project-hover-pink:hover::after{
  background: linear-gradient(180deg, rgba(255,84,115,.14) 0%, rgba(148,58,97,.84) 100%);
}

.project-hover-purple:hover::after{
  background: linear-gradient(180deg, rgba(110,53,114,.14) 0%, rgba(43,25,46,.84) 100%);
}

@media (max-width: 991.98px){
  .projects-windows-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .project-window-card{
    min-height: 290px;
  }

  .project-window-content{
    transform: none;
    opacity: 1;
  }

  .project-window-card::after{
    background: linear-gradient(180deg, rgba(2,22,47,.10) 0%, rgba(2,22,47,.74) 100%);
  }
}

@media (max-width: 767.98px){
  .projects-windows-grid{
    grid-template-columns: 1fr;
  }

  .project-window-card{
    min-height: 250px;
    border-radius: 24px;
  }

  .project-window-overlay{
    padding: 1.1rem;
  }

  .project-window-content h3{
    font-size: 1.08rem;
  }

  .project-window-content p{
    font-size: 0.9rem;
  }

  .section-projects-windows .section-heading::before,
  .section-projects-windows .section-heading::after{
    display: none;
  }
}

/* ===== T21 ===== */
.section-t21-intro,
.section-t21-diagnosis,
.section-t21-types,
.section-t21-final{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.t21-image-card{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 1.2rem;
  box-shadow: var(--shadow-sm);
}

.t21-image-card img{
  width: 100%;
  border-radius: 22px;
  display: block;
  object-fit: cover;
}

.t21-image-caption{
  margin: 0.9rem 0 0;
  color: var(--text-soft);
  font-size: 0.93rem;
  line-height: 1.6;
}

.t21-text-box{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 2rem 1.7rem;
  box-shadow: var(--shadow-sm);
}

.t21-text-box p{
  color: var(--text-soft);
  line-height: 1.8;
  margin-bottom: 1rem;
}

.t21-text-box p:last-child{
  margin-bottom: 0;
}

.t21-type-card{
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 2rem 1.5rem;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

.t21-type-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.t21-type-icon{
  width: 68px;
  height: 68px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.t21-icon-cyan{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,214,202) 100%);
}

.t21-icon-orange{
  background: linear-gradient(135deg, rgb(246,163,53) 0%, rgb(234,90,51) 100%);
}

.t21-icon-purple{
  background: linear-gradient(135deg, rgb(110,53,114) 0%, rgb(43,25,46) 100%);
}

.t21-type-card h3{
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 0.8rem;
}

.t21-type-card p{
  color: var(--text-soft);
  line-height: 1.75;
  margin-bottom: 0.85rem;
}

.t21-type-card p:last-child{
  margin-bottom: 0;
}

.t21-final-box{
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 32px;
  padding: 3rem 2rem;
  box-shadow: var(--shadow-md);
}

.t21-final-box .section-text{
  max-width: 920px;
}

@media (max-width: 767.98px){
  .t21-image-card,
  .t21-text-box,
  .t21-type-card,
  .t21-final-box{
    border-radius: 22px;
  }

  .t21-text-box,
  .t21-type-card{
    padding: 1.5rem 1.2rem;
  }

  .t21-final-box{
    padding: 2rem 1.2rem;
  }

  .t21-type-icon{
    width: 58px;
    height: 58px;
    border-radius: 18px;
    font-size: 1.25rem;
  }
}

/* ===== HERO T21 ===== */
.internal-hero-image-t21 .down-words-frame .frame-inner{
  background: linear-gradient(180deg, #edece7 0%, #e9dedc 100%);
}

.internal-hero-image-t21 .down-words-frame .frame-inner img{
  height: 500px;
  object-fit: contain;
  object-position: center top;
  background: linear-gradient(180deg, #edece7 0%, #e9dedc 100%);
  padding: 0.5rem;
}

/* ===== T21 - DIAGNÓSTICO ===== */
.t21-diagnosis-visual{
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 28px;
  box-shadow: var(--shadow-sm);
  padding: 2rem 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.t21-diagnosis-visual-icon{
  width: 88px;
  height: 88px;
  border-radius: 24px;
  margin: 0 auto 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #fff;
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,135,235) 100%);
}

.t21-diagnosis-mini-icons{
  display: flex;
  justify-content: center;
  gap: .8rem;
  margin-bottom: 1rem;
}

.t21-diagnosis-mini-icons span{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(4,175,187,.08);
  color: var(--primary-dark);
  font-size: 1.05rem;
}

.t21-diagnosis-visual h3{
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--title);
  margin-bottom: .75rem;
}

.t21-diagnosis-visual p{
  color: var(--text-soft);
  margin: 0;
  line-height: 1.7;
}

.t21-diagnosis-box{
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 28px;
  box-shadow: var(--shadow-sm);
  padding: 2rem 1.7rem;
}

.t21-diagnosis-item{
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 1rem;
  align-items: start;
}

.t21-diagnosis-item-icon{
  width: 68px;
  height: 68px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.4rem;
}

.t21-diagnosis-item-icon.icon-cyan{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,214,202) 100%);
}

.t21-diagnosis-item-icon.icon-purple{
  background: linear-gradient(135deg, rgb(110,53,114) 0%, rgb(43,25,46) 100%);
}

.t21-diagnosis-item-icon.icon-coral{
  background: linear-gradient(135deg, rgb(239,130,128) 0%, rgb(234,90,51) 100%);
}

.t21-diagnosis-item h3{
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--title);
  margin-bottom: .55rem;
}

.t21-diagnosis-item p{
  color: var(--text-soft);
  line-height: 1.8;
  margin: 0;
}

.t21-diagnosis-divider{
  height: 1px;
  background: var(--border);
  margin: 1.5rem 0;
}

@media (max-width: 767.98px){
  .t21-diagnosis-visual,
  .t21-diagnosis-box{
    border-radius: 22px;
    padding: 1.5rem 1.2rem;
  }

  .t21-diagnosis-item{
    grid-template-columns: 56px 1fr;
  }

  .t21-diagnosis-item-icon{
    width: 56px;
    height: 56px;
    border-radius: 16px;
    font-size: 1.2rem;
  }
}

/* ===== FAÇA PARTE ===== */
.section-cta-final{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-cta-final .section-subtitle{
  max-width: 900px;
}

.cta-info-card{
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 30px;
  padding: 2rem 1.6rem;
  box-shadow: var(--shadow-sm);
  height: 100%;
  transition: var(--transition);
}

.cta-info-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.cta-info-icon{
  width: 68px;
  height: 68px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.cta-icon-cyan{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,214,202) 100%);
}

.cta-icon-purple{
  background: linear-gradient(135deg, rgb(110,53,114) 0%, rgb(43,25,46) 100%);
}

.cta-info-card h3{
  font-size: 1.35rem;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 0.9rem;
}

.cta-info-card p{
  color: var(--text-soft);
  line-height: 1.8;
  margin-bottom: 1rem;
}

.cta-info-card p:last-child{
  margin-bottom: 0;
}

.cta-final-highlight{
  background: linear-gradient(135deg, rgba(4,175,187,.08) 0%, rgba(110,53,114,.08) 100%);
  border: 1px solid rgba(4,175,187,.10);
  border-radius: 32px;
  padding: 2.2rem 1.8rem;
  box-shadow: var(--shadow-sm);
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.cta-final-highlight-icon{
  width: 76px;
  height: 76px;
  border-radius: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgb(246,163,53) 0%, rgb(255,84,115) 100%);
  color: #fff;
  font-size: 1.7rem;
  margin-bottom: 1rem;
}

.cta-final-highlight-content h3{
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 0.8rem;
}

.cta-final-highlight-content p{
  color: var(--text-soft);
  line-height: 1.85;
  margin: 0 auto;
  max-width: 760px;
}

.cta-final-highlight-actions{
  justify-content: center;
}

@media (max-width: 767.98px){
  .cta-final-highlight{
    padding: 1.5rem 1.2rem;
    border-radius: 24px;
  }

  .cta-final-highlight-icon{
    width: 64px;
    height: 64px;
    border-radius: 18px;
    font-size: 1.4rem;
  }

  .cta-final-highlight-content h3{
    font-size: 1.2rem;
  }

  .cta-final-highlight-actions{
    flex-direction: column;
    align-items: stretch;
  }

  .cta-final-highlight-actions .btn{
    width: 100%;
  }
}

/* ===== PROJETO INTERNO ===== */
.section-project-detail,
.section-project-goals,
.section-project-gallery,
.section-project-impact{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.project-detail-image img{
  width: 100%;
  min-height: 380px;
  object-fit: cover;
}

.project-goal-card{
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 2rem 1.5rem;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  height: 100%;
}

.project-goal-card:hover{
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.project-goal-icon{
  width: 68px;
  height: 68px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.45rem;
  margin-bottom: 1rem;
}

.goal-cyan{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,214,202) 100%);
}

.goal-green{
  background: linear-gradient(135deg, rgb(186,209,97) 0%, rgb(120,184,79) 100%);
}

.goal-orange{
  background: linear-gradient(135deg, rgb(246,163,53) 0%, rgb(234,90,51) 100%);
}

.goal-purple{
  background: linear-gradient(135deg, rgb(110,53,114) 0%, rgb(43,25,46) 100%);
}

.project-goal-card h3{
  font-size: 1.18rem;
  font-weight: 900;
  color: var(--title);
  margin-bottom: .7rem;
}

.project-goal-card p{
  color: var(--text-soft);
  margin-bottom: 0;
  line-height: 1.75;
}

.project-gallery-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-width: 1100px;
  margin: 0 auto;
}

.project-gallery-item{
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.project-gallery-item img{
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.project-gallery-item:hover img{
  transform: scale(1.04);
}

@media (max-width: 991.98px){
  .project-detail-image img{
    min-height: 300px;
  }
}

@media (max-width: 767.98px){
  .project-goal-card{
    padding: 1.5rem 1.2rem;
    border-radius: 22px;
  }

  .project-gallery-grid{
    grid-template-columns: 1fr;
  }

  .project-gallery-item{
    border-radius: 20px;
  }

  .project-gallery-item img{
    height: 240px;
  }
}

/* ===== SOBRE DO PROJETO - TEXTO CENTRAL ===== */
.section-project-about-alt{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.project-about-box{
  max-width: 920px;
  margin: 0 auto;
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 32px;
  padding: 2.4rem 2rem;
  box-shadow: var(--shadow-sm);
}

.project-about-box .section-text{
  max-width: 760px;
}

.project-about-box .section-text + .section-text{
  margin-top: 1rem;
}

@media (max-width: 767.98px){
  .project-about-box{
    border-radius: 24px;
    padding: 1.6rem 1.2rem;
  }
}

/* ===== DROPDOWN PROJETOS ===== */
.down-navbar .dropdown-menu.down-dropdown-menu{
  border: 1px solid rgba(2,22,47,.08);
  border-radius: 20px;
  padding: .7rem;
  min-width: 260px;
  box-shadow: 0 20px 40px rgba(20,33,61,.12);
  background: rgba(255,255,255,.98);
  backdrop-filter: blur(12px);
}

.down-navbar .down-dropdown-menu .dropdown-item{
  border-radius: 14px;
  padding: .78rem .95rem;
  font-weight: 700;
  color: var(--title);
  transition: var(--transition);
}

.down-navbar .down-dropdown-menu .dropdown-item:hover,
.down-navbar .down-dropdown-menu .dropdown-item:focus{
  background: linear-gradient(135deg, rgba(4,175,187,.10) 0%, rgba(186,209,97,.18) 100%);
  color: var(--primary-dark);
}

.down-navbar .down-dropdown-menu .dropdown-divider{
  margin: .55rem 0;
  border-color: rgba(2,22,47,.08);
}

.down-navbar .down-dropdown-menu .dropdown-item-all{
  color: var(--primary);
  font-weight: 800;
}

@media (max-width: 991.98px){
  .down-navbar .dropdown-menu.down-dropdown-menu{
    min-width: 100%;
    margin-top: .4rem;
    border-radius: 16px;
    box-shadow: none;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
  }

  .has-transparent-header .down-header--transparent .down-dropdown-menu .dropdown-item{
    color: #fff;
  }

  .has-transparent-header .down-header--transparent .down-dropdown-menu .dropdown-item:hover{
    background: rgba(255,255,255,.12);
    color: #fff;
  }

  .has-transparent-header .down-header--transparent .down-dropdown-menu .dropdown-item-all{
    color: rgb(186,209,97);
  }
}

.project-window-card{
  text-decoration: none;
  color: inherit;
  display: block;
}

.project-window-card:hover,
.project-window-card:focus{
  text-decoration: none;
  color: inherit;
}

.project-window-card:focus-visible{
  outline: 3px solid rgba(4,175,187,.35);
  outline-offset: 4px;
}

/* ===== CONTATO ===== */
.section-contact-main,
.section-contact-map{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.contact-info-box,
.contact-form-box{
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 32px;
  padding: 2rem 1.6rem;
  box-shadow: var(--shadow-sm);
  height: 100%;
}

.contact-info-list{
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.contact-info-item{
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 1rem;
  align-items: start;
}

.contact-info-icon{
  width: 64px;
  height: 64px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.4rem;
}

.icon-cyan{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,214,202) 100%);
}

.icon-green{
  background: linear-gradient(135deg, rgb(186,209,97) 0%, rgb(120,184,79) 100%);
}

.icon-orange{
  background: linear-gradient(135deg, rgb(246,163,53) 0%, rgb(234,90,51) 100%);
}

.contact-info-item h3,
.contact-social-title{
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--title);
  margin-bottom: .45rem;
}

.contact-info-item p{
  color: var(--text-soft);
  line-height: 1.7;
  margin: 0;
}

.contact-info-item a{
  color: var(--primary-dark);
  font-weight: 700;
}

.contact-info-item a:hover{
  color: var(--primary);
}

.contact-social-link{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(4,175,187,.08);
  color: var(--title);
  font-size: 1.1rem;
  transition: var(--transition);
  text-decoration: none;
}

.contact-social-link:hover{
  background: linear-gradient(135deg, rgba(4,175,187,.18) 0%, rgba(186,209,97,.22) 100%);
  color: var(--primary-dark);
  transform: translateY(-2px);
}

.contact-form .form-label{
  font-weight: 800;
  color: var(--title);
  margin-bottom: .45rem;
}

.contact-input{
  border-radius: 16px;
  border: 1px solid var(--border);
  padding: .9rem 1rem;
  box-shadow: none !important;
}

.contact-input:focus{
  border-color: rgba(4,175,187,.35);
  box-shadow: 0 0 0 .2rem rgba(4,175,187,.10) !important;
}

.contact-textarea{
  min-height: 180px;
  resize: vertical;
}

.contact-map-box{
  max-width: 960px;
  margin: 0 auto;
  background: linear-gradient(135deg, rgba(4,175,187,.08) 0%, rgba(110,53,114,.08) 100%);
  border: 1px solid rgba(4,175,187,.10);
  border-radius: 32px;
  padding: 2.4rem 2rem;
  box-shadow: var(--shadow-sm);
}

.contact-map-box .section-text{
  max-width: 760px;
}

@media (max-width: 767.98px){
  .contact-info-box,
  .contact-form-box,
  .contact-map-box{
    border-radius: 24px;
    padding: 1.5rem 1.2rem;
  }

  .contact-info-item{
    grid-template-columns: 56px 1fr;
  }

  .contact-info-icon{
    width: 56px;
    height: 56px;
    border-radius: 16px;
    font-size: 1.2rem;
  }
}

/* ===== COMO AJUDAR - SEÇÃO DE AÇÃO ===== */
.section-help-action{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-help-action .section-subtitle{
  max-width: 900px;
}

.help-action-card{
  border-radius: 30px;
  padding: 2rem 1.5rem;
  color: #fff;
  box-shadow: var(--shadow-md);
  height: 100%;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}

.help-action-card::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(0,0,0,.06) 100%);
  pointer-events: none;
}

.help-action-card:hover{
  transform: translateY(-6px);
}

.help-action-card-cyan{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,214,202) 100%);
}

.help-action-card-orange{
  background: linear-gradient(135deg, rgb(246,163,53) 0%, rgb(234,90,51) 100%);
}

.help-action-card-purple{
  background: linear-gradient(135deg, rgb(110,53,114) 0%, rgb(43,25,46) 100%);
}

.help-action-icon{
  width: 72px;
  height: 72px;
  border-radius: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-size: 1.6rem;
  margin-bottom: 1.1rem;
  position: relative;
  z-index: 1;
}

.help-action-card h3{
  font-size: 1.35rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: .8rem;
  position: relative;
  z-index: 1;
}

.help-action-card p{
  color: rgba(255,255,255,.92);
  line-height: 1.75;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}

.help-action-card .btn{
  position: relative;
  z-index: 1;
  color: var(--title);
  font-weight: 800;
  border-radius: 16px;
}

.help-action-card .btn:hover{
  color: var(--title);
  transform: translateY(-1px);
}

@media (max-width: 767.98px){
  .help-action-card{
    border-radius: 22px;
    padding: 1.5rem 1.2rem;
  }

  .help-action-icon{
    width: 62px;
    height: 62px;
    border-radius: 18px;
    font-size: 1.35rem;
  }

  .help-action-card h3{
    font-size: 1.18rem;
  }
}

.section-title{
  font-size: clamp(1.45rem, 2.2vw, 2.15rem);
  line-height: 1.14;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 0.85rem;
}

@media (max-width: 991.98px){
  .section-title{
    font-size: clamp(1.35rem, 5vw, 1.95rem);
  }
}

/* ===== HERO COMO AJUDAR - FOTOS ===== */
.help-hero-photos{
  position: relative;
  min-height: 560px;
  max-width: 620px;
  margin-left: auto;
}

.help-photo{
  position: absolute;
  background: #fff;
  border-radius: 22px;
  padding: 0.7rem;
  box-shadow: 0 18px 40px rgba(20,33,61,.12);
  border: 1px solid rgba(2,22,47,.06);
  transition: transform .28s ease, box-shadow .28s ease;
  transform-origin: center center;
  z-index: 1;
}

.help-photo img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.help-photo:hover{
  box-shadow: 0 28px 56px rgba(20,33,61,.18);
  z-index: 8;
}

/* rotações + hover individual */
.help-photo.photo-1{
  width: 205px;
  top: 0;
  left: 10px;
  transform: rotate(-7deg);
}
.help-photo.photo-1:hover{
  transform: rotate(-7deg) scale(1.12);
}

.help-photo.photo-2{
  width: 195px;
  top: 130px;
  left: 185px;
  transform: rotate(5deg);
}
.help-photo.photo-2:hover{
  transform: rotate(5deg) scale(1.12);
}

.help-photo.photo-3{
  width: 195px;
  top: 18px;
  right: 10px;
  transform: rotate(8deg);
}
.help-photo.photo-3:hover{
  transform: rotate(8deg) scale(1.12);
}

.help-photo.photo-4{
  width: 195px;
  bottom: 34px;
  left: 24px;
  transform: rotate(-5deg);
}
.help-photo.photo-4:hover{
  transform: rotate(-5deg) scale(1.12);
}

.help-photo.photo-5{
  width: 188px;
  bottom: 4px;
  right: 42px;
  transform: rotate(4deg);
}
.help-photo.photo-5:hover{
  transform: rotate(4deg) scale(1.12);
}

@media (max-width: 991.98px){
  .help-hero-photos{
    min-height: 520px;
    max-width: 560px;
    margin: 0 auto;
  }

  .help-photo.photo-1{ width: 185px; left: 8px; }
  .help-photo.photo-2{ width: 176px; left: 165px; }
  .help-photo.photo-3{ width: 176px; right: 8px; }
  .help-photo.photo-4{ width: 176px; left: 18px; }
  .help-photo.photo-5{ width: 170px; right: 24px; }
}

@media (max-width: 767.98px){
  .help-hero-photos{
    min-height: 660px;
    max-width: 390px;
    margin: 0 auto;
  }

  .help-photo{
    padding: 0.55rem;
    border-radius: 18px;
  }

  .help-photo.photo-1{
    width: 152px;
    top: 0;
    left: 0;
  }

  .help-photo.photo-2{
    width: 150px;
    top: 126px;
    left: 118px;
  }

  .help-photo.photo-3{
    width: 150px;
    top: 18px;
    right: 0;
  }

  .help-photo.photo-4{
    width: 148px;
    bottom: 122px;
    left: 10px;
  }

  .help-photo.photo-5{
    width: 148px;
    bottom: 0;
    right: 14px;
  }

  .help-photo.photo-1:hover{ transform: rotate(-7deg) scale(1.08); }
  .help-photo.photo-2:hover{ transform: rotate(5deg) scale(1.08); }
  .help-photo.photo-3:hover{ transform: rotate(8deg) scale(1.08); }
  .help-photo.photo-4:hover{ transform: rotate(-5deg) scale(1.08); }
  .help-photo.photo-5:hover{ transform: rotate(4deg) scale(1.08); }
}

.footer-follow{
  margin-top: 1.25rem;
}

.footer-follow-title{
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  margin-bottom: 0.45rem;
}

.footer-follow-text{
  margin-bottom: 0.5rem;
  color: rgba(255,255,255,0.74);
  line-height: 1.6;
  font-size: 0.94rem;
}

.footer-follow-link{
  color: #f4c542;
  font-weight: 800;
}

.footer-follow-link:hover{
  color: #fff;
}

.section-donation{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.donation-box{
  max-width: 820px;
  margin: 0 auto;
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 32px;
  padding: 2.2rem 1.8rem;
  box-shadow: var(--shadow-sm);
}

.donation-values{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
}

.donation-option{
  cursor: pointer;
  margin: 0;
}

.donation-option input{
  display: none;
}

.donation-option span{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: #fff;
  font-weight: 800;
  color: var(--title);
  transition: var(--transition);
}

.donation-option input:checked + span,
.donation-option:hover span{
  background: linear-gradient(135deg, rgba(4,175,187,.12) 0%, rgba(186,209,97,.18) 100%);
  border-color: rgba(4,175,187,.18);
}

.donation-note{
  color: var(--text-soft);
  font-size: 0.94rem;
  text-align: center;
}

@media (max-width: 767.98px){
  .donation-box{
    border-radius: 24px;
    padding: 1.5rem 1.2rem;
  }

  .donation-values{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.text-justify{
  text-align: justify;
  text-justify: inter-word;
}

@media (max-width: 767.98px){
  .text-justify{
    text-align: left;
  }
}

/* ===== CARTILHA / GUIA ===== */
.section-guide-highlight,
.section-project-guide{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.guide-highlight-cover,
.project-guide-card{
  background: rgba(255,255,255,.94);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 1rem;
  box-shadow: var(--shadow-sm);
}

.guide-highlight-cover img,
.project-guide-card img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
}

@media (max-width: 767.98px){
  .guide-highlight-cover,
  .project-guide-card{
    border-radius: 22px;
    padding: 0.8rem;
  }

  .guide-highlight-cover img,
  .project-guide-card img{
    border-radius: 16px;
  }
}

/* =========================================================
   AJUSTES GERAIS DE RESPONSIVIDADE - DOWNCHUTE
   Colar no FINAL do assets/css/theme.css
========================================================= */

html,
body{
  overflow-x: hidden;
}

@media (max-width: 1199.98px){
  .container{
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }
}

@media (max-width: 991.98px){
  /* ---------- base ---------- */
  body{
    font-size: 15.5px;
  }

  section[class*="py-5"],
  .section-page-content,
  .section-guide-highlight,
  .section-project-guide,
  .section-contact-main,
  .section-contact-map,
  .section-help-action,
  .section-donation,
  .section-page-history,
  .section-mvv,
  .section-page-pillars,
  .section-impact,
  .section-post-content,
  .section-post-gallery,
  .section-related-news,
  .section-store-grid,
  .section-project-gallery,
  .section-cta-final{
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }

  .section-heading{
    margin-bottom: 0.85rem;
  }

  .section-kicker{
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
  }

  .section-title{
    font-size: clamp(1.35rem, 4.8vw, 1.9rem) !important;
    line-height: 1.14;
    margin-bottom: 0.75rem;
  }

  .section-subtitle,
  .section-text{
    font-size: 0.98rem;
    max-width: 100%;
  }

  /* ---------- palavras decorativas ---------- */
  .words-layer .w{
    opacity: .08 !important;
    transform: scale(.88);
  }

  /* ---------- header ---------- */
  .down-header{
    position: sticky;
    top: 0;
  }

  .down-navbar{
    min-height: auto;
    padding: 0.7rem 0;
  }

  .down-brand{
    max-width: 220px;
  }

  .down-brand img{
    max-width: 200px;
  }

  .down-navbar .navbar-collapse{
    margin-top: 0.9rem;
    padding: 0.9rem;
    border-radius: 22px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 18px 36px rgba(20,33,61,.10);
  }

  .down-navbar .navbar-nav{
    gap: 0.25rem !important;
    align-items: stretch !important;
  }

  .down-navbar .nav-link{
    display: block;
    padding: 0.85rem 1rem !important;
    border-radius: 16px;
  }

  .down-btn-header{
    width: 100%;
    text-align: center;
    margin-top: 0.5rem;
  }

  /* ---------- heroes internos ---------- */
  .page-hero{
    padding-top: 2.35rem !important;
    padding-bottom: 2.35rem !important;
  }

  .page-hero .row{
    row-gap: 1.6rem !important;
  }

  .internal-hero-image,
  .internal-highlight-image{
    max-width: 100%;
    margin-left: 0;
  }

  .internal-hero-image .down-words-frame .frame-inner img,
  .internal-highlight-image .down-words-frame .frame-inner img{
    height: 280px;
  }

  /* ---------- hero home ---------- */
  .home-hero-slider{
    min-height: auto;
  }

  .home-hero-slider .container{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .home-hero-slider .row{
    min-height: auto;
  }

  .home-hero-copy{
    padding-top: 1rem;
    padding-bottom: 0;
  }

  .home-hero-title{
    font-size: clamp(2rem, 6.6vw, 3rem) !important;
    max-width: 100%;
    margin-bottom: 1rem;
  }

  .home-hero-text{
    max-width: 100%;
    font-size: 1rem;
  }

  .home-hero-actions,
  .hero-actions{
    gap: 0.8rem !important;
  }

  .hero-control{
    width: 44px;
    height: 44px;
  }

  /* ---------- grids gerais ---------- */
  .row.g-4{
    --bs-gutter-y: 1.25rem;
  }

  .projects-windows-grid,
  .project-gallery-grid,
  .news-grid,
  .store-grid{
    gap: 1rem !important;
  }

  .project-gallery-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* ---------- timeline ---------- */
  .history-year-image,
  .history-year-text{
    padding-left: 86px;
  }

  .history-year-badge{
    min-width: 68px;
    height: 68px;
    border-radius: 18px;
    font-size: 1.05rem;
  }

  .history-year-image img{
    height: 210px;
  }

  /* ---------- cards e caixas ---------- */
  .cta-final-box,
  .cta-final-highlight,
  .donation-box,
  .contact-info-box,
  .contact-form-box,
  .contact-map-box,
  .guide-highlight-cover,
  .project-guide-card,
  .project-about-box,
  .store-header-box,
  .news-header-box{
    border-radius: 24px;
    padding: 1.6rem 1.3rem;
  }

  /* ---------- forms ---------- */
  .contact-input,
  .form-control{
    min-height: 52px;
    font-size: 16px;
  }

  textarea.contact-input,
  .contact-textarea{
    min-height: 160px;
  }

  /* ---------- footer ---------- */
  .down-footer{
    padding-top: 3.5rem;
  }

  .footer-brand{
    align-items: center;
  }

  .footer-bottom{
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 767.98px){
  /* ---------- base ---------- */
  body{
    font-size: 15px;
  }

  .container{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  section[class*="py-5"],
  .section-page-content,
  .section-guide-highlight,
  .section-project-guide,
  .section-contact-main,
  .section-contact-map,
  .section-help-action,
  .section-donation,
  .section-page-history,
  .section-mvv,
  .section-page-pillars,
  .section-impact,
  .section-post-content,
  .section-post-gallery,
  .section-related-news,
  .section-store-grid,
  .section-project-gallery,
  .section-cta-final{
    padding-top: 3.25rem !important;
    padding-bottom: 3.25rem !important;
  }

  .section-title{
    font-size: clamp(1.28rem, 7vw, 1.7rem) !important;
    line-height: 1.16;
  }

  .section-subtitle,
  .section-text{
    font-size: 0.95rem;
  }

  .btn,
  .btn-lg{
    width: 100%;
    justify-content: center;
    padding: 0.95rem 1.2rem;
    font-size: 0.98rem;
  }

  .d-flex.flex-wrap.gap-3 > .btn,
  .hero-actions .btn,
  .cta-final-highlight-actions .btn,
  .home-hero-actions .btn{
    width: 100%;
  }

  /* ---------- header ---------- */
  .down-brand{
    max-width: 180px;
  }

  .down-brand img{
    max-width: 165px;
  }

  .down-navbar .navbar-collapse{
    border-radius: 20px;
    padding: 0.8rem;
  }

  /* ---------- hero home ---------- */
  .home-hero-slider{
    min-height: auto;
    padding-top: 0.35rem;
  }

  .home-hero-title{
    font-size: clamp(1.9rem, 9vw, 2.55rem) !important;
    line-height: 1.02;
  }

  .home-hero-text{
    font-size: 0.96rem;
  }

  .hero-control{
    display: none !important;
  }

  .hero-indicators{
    margin-bottom: 0.4rem;
  }

  /* ---------- heroes internos ---------- */
  .page-hero .row{
    row-gap: 1.2rem !important;
  }

  .internal-hero-image .down-words-frame .frame-inner img,
  .internal-highlight-image .down-words-frame .frame-inner img{
    height: 220px;
  }

  /* ---------- sobre / history ---------- */
  .history-year-card{
    border-radius: 22px;
  }

  .history-year-content{
    padding: 1rem 1rem 1.1rem;
  }

  .history-year-badge{
    position: static;
    margin-bottom: 0.9rem;
  }

  .history-year-image,
  .history-year-text{
    padding-left: 0;
  }

  .history-year-image img{
    height: 190px;
    border-radius: 18px;
  }

  .history-year-text p{
    font-size: 0.95rem;
    line-height: 1.72;
  }

  /* ---------- projetos home ---------- */
  .projects-windows-grid{
    grid-template-columns: 1fr !important;
  }

  .project-window-card{
    min-height: 260px;
    border-radius: 22px;
  }

  .project-window-card img{
    min-height: 260px;
    object-fit: cover;
  }

  .project-window-content{
    padding: 1rem;
  }

  .project-window-content h3{
    font-size: 1.12rem;
  }

  .project-window-content p{
    font-size: 0.92rem;
  }

  /* ---------- números ---------- */
  .impact-number-card,
  .number-card,
  .impact-card{
    border-radius: 20px;
    padding: 1.25rem 1rem;
  }

  /* ---------- store / news / post ---------- */
  .store-card,
  .news-card,
  .post-content-box,
  .related-news-card{
    border-radius: 22px;
  }

  .store-card-image img{
    height: 180px;
  }

  .post-cover img,
  .post-gallery-item img{
    border-radius: 18px;
  }

  .project-gallery-grid,
  .store-grid,
  .related-news-grid{
    grid-template-columns: 1fr !important;
  }

  /* ---------- projeto interno ---------- */
  .project-about-box{
    text-align: left !important;
  }

  .project-goal-card{
    border-radius: 20px;
    padding: 1.3rem 1rem;
  }

  .project-gallery-item img{
    height: 240px;
    object-fit: cover;
  }

  /* ---------- T21 ---------- */
  .t21-type-card,
  .t21-text-box{
    border-radius: 20px;
    padding: 1.25rem 1rem;
  }

  /* ---------- contato ---------- */
  .contact-info-box,
  .contact-form-box,
  .contact-map-box{
    border-radius: 22px;
    padding: 1.3rem 1rem;
  }

  .contact-info-item{
    grid-template-columns: 50px 1fr;
    gap: 0.85rem;
  }

  .contact-info-icon{
    width: 50px;
    height: 50px;
    border-radius: 14px;
    font-size: 1.05rem;
  }

  /* ---------- doação ---------- */
  .donation-box{
    border-radius: 22px;
    padding: 1.35rem 1rem;
  }

  .donation-values{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
  }

  .donation-option span{
    min-height: 52px;
    font-size: 0.94rem;
    border-radius: 16px;
  }

  /* ---------- como ajudar - fotos ---------- */
  .help-hero-photos{
    min-height: 560px !important;
    max-width: 340px !important;
    margin: 0 auto;
  }

  .help-photo{
    padding: 0.45rem;
    border-radius: 16px;
  }

  .help-photo.photo-1{
    width: 132px !important;
    top: 0;
    left: 0;
  }

  .help-photo.photo-2{
    width: 132px !important;
    top: 108px;
    left: 100px !important;
  }

  .help-photo.photo-3{
    width: 132px !important;
    top: 12px;
    right: 0 !important;
  }

  .help-photo.photo-4{
    width: 130px !important;
    bottom: 108px;
    left: 8px !important;
  }

  .help-photo.photo-5{
    width: 130px !important;
    bottom: 0;
    right: 10px !important;
  }

  .help-photo:hover{
    z-index: 6;
  }

  /* ---------- footer ---------- */
  .down-footer{
    padding-top: 3rem;
    padding-bottom: 1.25rem;
  }

  .footer-brand{
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .footer-brand img{
    width: 62px;
    height: 62px;
  }

  .footer-block{
    margin-top: 0.25rem;
  }

  .footer-block h5{
    margin-bottom: 0.75rem;
  }

  .footer-social{
    gap: 0.65rem;
  }

  .footer-social a{
    width: 40px;
    height: 40px;
  }

  .footer-bottom{
    margin-top: 2rem;
    padding-top: 1rem;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

@media (max-width: 575.98px){
  .home-hero-title{
    font-size: clamp(1.8rem, 10vw, 2.3rem) !important;
  }

  .internal-hero-image .down-words-frame .frame-inner img,
  .internal-highlight-image .down-words-frame .frame-inner img{
    height: 200px;
  }

  .project-window-card,
  .project-window-card img{
    min-height: 230px;
  }

  .project-gallery-item img{
    height: 220px;
  }

  .store-card-image img{
    height: 170px;
  }

  .contact-input,
  .form-control{
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }
}

/* ===== FIX HEADER GLOBAL ===== */
.down-header{
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

body:not(.has-transparent-header){
  padding-top: 108px;
}

@media (max-width: 991.98px){
  body:not(.has-transparent-header){
    padding-top: 86px;
  }
}

/* ===== FIX LOGO HEADER ===== */
.logo-pill-img,
.logo-plain-img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.logo-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 18px;
  padding: .45rem .7rem;
  box-shadow: 0 10px 28px rgba(2,22,47,.10);
}

.logo-plain-img{
  display: none;
}

.has-transparent-header .down-header--transparent .logo-pill{
  display: inline-flex;
}

.has-transparent-header .down-header--transparent .logo-plain-img{
  display: none;
}

.has-transparent-header .down-header.is-scrolled .logo-pill{
  display: none;
}

.has-transparent-header .down-header.is-scrolled .logo-plain-img{
  display: block;
}

body:not(.has-transparent-header) .logo-pill{
  display: none;
}

body:not(.has-transparent-header) .logo-plain-img{
  display: block;
}

/* ===== MENU MOBILE HEADER TRANSPARENTE ===== */
@media (max-width: 991.98px){
  .has-transparent-header .down-header--transparent .navbar-collapse{
    background: rgba(10, 23, 44, .94);
    backdrop-filter: blur(12px);
    border-radius: 22px;
    padding: 1rem;
    margin-top: 1rem;
    box-shadow: 0 20px 44px rgba(2,22,47,.22);
  }

  .has-transparent-header .down-header--transparent .nav-link{
    color: #fff !important;
  }

  .has-transparent-header .down-header--transparent .nav-link.active{
    color: #fff !important;
  }

  .has-transparent-header .down-header--transparent .dropdown-menu{
    background: transparent;
    border: none;
    box-shadow: none;
  }

  .has-transparent-header .down-header--transparent .dropdown-item{
    color: rgba(255,255,255,.92);
  }
}

/* ===== HERO MOBILE ===== */
@media (max-width: 767.98px){
  .home-hero-slider,
  .home-hero-carousel,
  .home-hero-slide{
    min-height: 100svh;
  }

  .home-hero-row{
    min-height: 100svh;
    padding-top: 88px;
    padding-bottom: 88px;
    display: flex;
    align-items: stretch !important;
  }

  .home-hero-content{
    min-height: calc(100svh - 176px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    max-width: 100%;
    padding-top: 0;
  }

  .home-hero-title{
    font-size: clamp(1.95rem, 9vw, 2.85rem);
    line-height: .98;
    max-width: 100%;
    margin-bottom: 1rem;
  }

  .home-hero-actions{
    margin-top: auto;
    padding-bottom: 2.7rem;
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem !important;
  }

  .home-hero-actions .btn{
    width: 100%;
  }

  .home-hero-indicators{
    margin-bottom: 1rem;
  }
}

/* ===== PALAVRAS NO MOBILE ===== */
@media (max-width: 767.98px){
  .words-layer .w{
    display: block !important;
    opacity: .08 !important;
    transform: scale(.62);
  }

  .home-hero-words .hw1{
    top: 140px;
    right: 4%;
    font-size: 20px !important;
  }

  .home-hero-words .hw2{
    bottom: 128px;
    right: 7%;
    font-size: 18px !important;
  }

  .home-hero-words .hw3{
    display: block !important;
    left: -10px;
    bottom: 120px;
    font-size: 18px !important;
    transform: rotate(-90deg) scale(.92);
  }
}

/* ===== TIMELINE MOBILE ===== */
@media (max-width: 767.98px){
  .history-year-image img{
    height: auto !important;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain !important;
    background: #fff;
    border-radius: 18px;
    width: 100%;
  }

  .history-year-image{
    margin-bottom: 0.9rem;
  }

  .history-year-content{
    padding: 1rem 1rem 1.2rem;
  }

  .history-year-text p{
    font-size: 0.96rem;
    line-height: 1.7;
  }
}

@media (max-width: 767.98px){
  .history-year-image{
    background: #fff;
    border-radius: 18px;
    padding: 0.4rem;
    box-shadow: var(--shadow-sm);
  }
}

/* ===== INDEX MOBILE: MENU ABERTO IGUAL ÀS OUTRAS PÁGINAS ===== */
@media (max-width: 991.98px){
  .has-transparent-header .down-header--transparent .navbar-collapse{
    background: #ffffff !important;
    backdrop-filter: none !important;
    border-radius: 24px;
    padding: 1rem;
    margin-top: 1rem;
    box-shadow: 0 20px 40px rgba(20,33,61,0.08);
  }

  .has-transparent-header .down-header--transparent .nav-link{
    color: rgb(2, 22, 47) !important;
  }

  .has-transparent-header .down-header--transparent .nav-link:hover{
    color: rgb(4, 175, 187) !important;
    background: rgba(4, 175, 187, 0.10) !important;
  }

  .has-transparent-header .down-header--transparent .nav-link.active{
    color: rgb(2, 22, 47) !important;
    background: linear-gradient(135deg, rgba(186,209,97,.28) 0%, rgba(0,214,202,.18) 100%) !important;
    box-shadow: inset 0 0 0 1px rgba(4,175,187,.12) !important;
  }

  .has-transparent-header .down-header--transparent .navbar-toggler-icon-custom span{
    background: rgb(2, 22, 47) !important;
  }
}

/* ===== TOGGLER BRANCO SOBRE O HERO / PRETO APÓS SCROLL ===== */
.has-transparent-header .down-header:not(.is-scrolled) .navbar-toggler-icon-custom span{
  background: #fff !important;
}

.has-transparent-header .down-header.is-scrolled .navbar-toggler-icon-custom span{
  background: rgb(2, 22, 47) !important;
}

/* ===== CHECKOUT DOWNCHUTE ===== */
.checkout-page{
  background:
    radial-gradient(circle at top left, rgba(244,197,66,.10), transparent 18%),
    radial-gradient(circle at bottom right, rgba(138,91,209,.08), transparent 18%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.checkout-section{
  padding-top: 4.5rem;
  padding-bottom: 5rem;
}

.checkout-shell{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 420px);
  gap: 1.5rem;
  align-items: start;
}

.checkout-shell-thanks{
  grid-template-columns: minmax(0, 900px);
}

.checkout-main,
.checkout-side{
  min-width: 0;
}

.checkout-main-wide{
  max-width: 900px;
  margin: 0 auto;
}

.checkout-card,
.checkout-side-card{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 30px;
  box-shadow: 0 22px 54px rgba(20,33,61,.08);
}

.checkout-card{
  padding: 2rem 1.8rem;
}

.checkout-side-card{
  overflow: hidden;
}

.checkout-card-head{
  margin-bottom: 1.2rem;
}

.checkout-badge{
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .6rem .95rem;
  border-radius: 999px;
  background: rgba(4,175,187,.10);
  color: var(--primary);
  font-size: .86rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

.checkout-badge-waiting{
  background: rgba(246,163,53,.12);
  color: #c97b11;
}

.checkout-badge-success{
  background: rgba(114,184,79,.14);
  color: #5d9331;
}

.checkout-title{
  font-size: clamp(1.9rem, 3.5vw, 2.7rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--title);
  margin-bottom: .9rem;
}

.checkout-text{
  color: var(--text-soft);
  font-size: 1rem;
  max-width: 720px;
}

.checkout-section-title{
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}

.checkout-section-title span{
  font-size: .95rem;
  font-weight: 800;
  color: var(--title);
}

.checkout-section-title::after{
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border);
}

.checkout-side-image{
  padding: 1rem 1rem 0;
}

.checkout-side-image img{
  width: 100%;
  height: 240px;
  object-fit: cover;
  border-radius: 22px;
}

.checkout-side-content{
  padding: 1.2rem 1.2rem 1.35rem;
}

.checkout-side-kicker{
  display: inline-block;
  font-size: .8rem;
  font-weight: 800;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .6rem;
}

.checkout-side-content h2,
.checkout-side-summary h2{
  font-size: 1.35rem;
  line-height: 1.2;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 1rem;
}

.checkout-benefits{
  list-style: none;
  padding: 0;
  margin: 0 0 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.checkout-benefits li{
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: .7rem;
  align-items: start;
  color: var(--text-soft);
}

.checkout-benefits i{
  color: var(--primary);
  margin-top: .1rem;
}

.checkout-security,
.checkout-side-note{
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: .95rem 1rem;
  border-radius: 18px;
  background: #f8fbff;
  color: var(--text-soft);
  font-size: .94rem;
}

.checkout-security i,
.checkout-side-note i{
  color: var(--primary);
  margin-top: .1rem;
}

.checkout-status-box{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
  margin-top: 1.2rem;
}

.checkout-status-item{
  background: #f8fbff;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 1rem;
}

.checkout-status-label{
  display: block;
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text-soft);
  margin-bottom: .35rem;
}

.checkout-status-value{
  display: block;
  color: var(--title);
  font-size: 1.05rem;
  font-weight: 900;
}

.checkout-steps{
  display: flex;
  flex-direction: column;
  gap: .95rem;
  margin-top: 1.4rem;
}

.checkout-step{
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: .9rem;
  align-items: start;
  padding: 1rem;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--border);
}

.checkout-step-number{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,135,235) 100%);
}

.checkout-step strong{
  display: block;
  color: var(--title);
  margin-bottom: .3rem;
}

.checkout-step p{
  margin: 0;
  color: var(--text-soft);
  font-size: .94rem;
}

.checkout-summary-list{
  display: flex;
  flex-direction: column;
  gap: .9rem;
  margin-top: .8rem;
}

.checkout-summary-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--border);
}

.checkout-summary-row:last-child{
  border-bottom: none;
  padding-bottom: 0;
}

.checkout-summary-row span{
  color: var(--text-soft);
  font-size: .92rem;
}

.checkout-summary-row strong{
  color: var(--title);
  font-size: .94rem;
  text-align: right;
}

.checkout-qr-wrap{
  display: flex;
  justify-content: center;
}

.checkout-qr-image{
  max-width: 280px;
  width: 100%;
  border-radius: 22px;
  padding: .8rem;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}

.checkout-card-success{
  padding: 2.4rem 2rem;
}

.checkout-success-icon{
  width: 88px;
  height: 88px;
  border-radius: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(114,184,79,.18) 0%, rgba(4,175,187,.12) 100%);
  color: var(--primary);
  font-size: 2rem;
}

.checkout-thankyou-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.checkout-mini-card{
  background: #f8fbff;
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 1.2rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .45rem;
  align-items: center;
  text-align: center;
}

.checkout-mini-card i{
  font-size: 1.4rem;
  color: var(--primary);
}

.checkout-mini-card strong{
  color: var(--title);
  font-size: .98rem;
}

.checkout-mini-card span{
  color: var(--text-soft);
  font-size: .9rem;
}

@media (max-width: 991.98px){
  .checkout-shell{
    grid-template-columns: 1fr;
  }

  .checkout-side{
    order: 2;
  }

  .checkout-main{
    order: 1;
  }

  .checkout-card,
  .checkout-side-card{
    border-radius: 24px;
  }

  .checkout-card{
    padding: 1.5rem 1.2rem;
  }

  .checkout-status-box{
    grid-template-columns: 1fr;
  }

  .checkout-thankyou-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px){
  .checkout-section{
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
  }

  .checkout-title{
    font-size: clamp(1.55rem, 7vw, 2rem);
  }

  .checkout-card{
    padding: 1.25rem 1rem;
  }

  .checkout-side-image img{
    height: 200px;
  }

  .checkout-step{
    grid-template-columns: 38px 1fr;
    gap: .75rem;
    padding: .9rem;
    border-radius: 18px;
  }

  .checkout-step-number{
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .checkout-success-icon{
    width: 74px;
    height: 74px;
    border-radius: 22px;
    font-size: 1.7rem;
  }
}

.checkout-shell-thanks{
  grid-template-columns: minmax(0, 900px);
}

.checkout-main-wide{
  max-width: 900px;
  margin: 0 auto;
}

/* ===== CENTRALIZAÇÃO DA TELA DE PAGAMENTO ===== */
.checkout-shell-centered{
  display: flex;
  justify-content: center;
}

.checkout-main-centered{
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
}

.product-card-image-link{
  display: block;
}

.store-empty-box{
  max-width: 720px;
  margin: 0 auto;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 2rem 1.5rem;
  box-shadow: var(--shadow-sm);
}

.store-empty-icon{
  width: 74px;
  height: 74px;
  border-radius: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(4,175,187,.10);
  color: var(--primary);
  font-size: 1.8rem;
  margin: 0 auto 1rem;
}

/* ===== PRODUTO ===== */
.section-product-detail{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.product-detail-shell{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 400px);
  gap: 1.5rem;
  align-items: start;
}

.product-detail-card,
.product-purchase-card{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 28px;
  box-shadow: var(--shadow-sm);
}

.product-detail-card{
  padding: 1.8rem 1.5rem;
}

.product-purchase-card{
  padding: 1.5rem 1.3rem;
}

.product-page-price{
  font-size: 2rem;
  line-height: 1;
  font-weight: 900;
  color: var(--title);
}

.product-page-stock{
  font-size: .95rem;
  font-weight: 700;
  color: #4f8b2d;
}

.product-page-stock i{
  margin-right: .35rem;
}

.product-page-stock.out{
  color: #c45454;
}

.product-purchase-kicker{
  display: inline-block;
  font-size: .8rem;
  font-weight: 800;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .55rem;
}

.product-purchase-card h3{
  font-size: 1.35rem;
  line-height: 1.2;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 1rem;
}

.product-purchase-price{
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 900;
  color: var(--title);
}

.product-purchase-note{
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: 1rem;
  border-radius: 18px;
  background: #f8fbff;
  margin-top: 1rem;
  color: var(--text-soft);
  font-size: .94rem;
}

.product-purchase-note i{
  color: var(--primary);
  margin-top: .12rem;
}

@media (max-width: 991.98px){
  .product-detail-shell{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px){
  .store-empty-box{
    border-radius: 22px;
    padding: 1.5rem 1.1rem;
  }

  .product-detail-card,
  .product-purchase-card{
    border-radius: 22px;
  }

  .product-detail-card{
    padding: 1.3rem 1rem;
  }

  .product-purchase-card{
    padding: 1.2rem 1rem;
  }

  .product-page-price,
  .product-purchase-price{
    font-size: 1.6rem;
  }
}

/* ===== PRODUTO - ESTILO LOJA ONLINE ===== */
.section-product-shop,
.section-product-description{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.product-shop-shell{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 440px);
  gap: 2rem;
  align-items: start;
}

.product-shop-image-card,
.product-description-card{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 30px;
  box-shadow: var(--shadow-sm);
}

.product-shop-image-card{
  padding: 1.1rem;
}

.product-shop-image-card{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.1rem;
}

.product-shop-image-card img{
  width: 100%;
  height: 540px;
  object-fit: contain;
  object-position: center;
  border-radius: 22px;
  display: block;
  background: #fff;
}

.product-shop-info{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 30px;
  box-shadow: var(--shadow-sm);
  padding: 1.8rem 1.5rem;
}

.product-shop-kicker{
  display: inline-block;
  font-size: .82rem;
  font-weight: 800;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .7rem;
}

.product-shop-title{
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.1;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 1rem;
}

.product-shop-price{
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 900;
  color: var(--title);
}

.product-shop-stock{
  font-size: .96rem;
  font-weight: 700;
  color: #4f8b2d;
}

.product-shop-stock i{
  margin-right: .35rem;
}

.product-shop-stock .out,
.product-shop-stock.out{
  color: #c45454;
}

.product-shop-form{
  margin-top: 1.5rem;
}

.product-shop-qty-wrap{
  max-width: 180px;
}

.product-shop-qty{
  text-align: center;
}

.product-shop-note{
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  margin-top: 1rem;
  padding: 1rem;
  background: #f8fbff;
  border-radius: 18px;
  color: var(--text-soft);
  font-size: .94rem;
}

.product-shop-note i{
  color: var(--primary);
  margin-top: .12rem;
}

.product-shop-actions{
  margin-top: 1rem;
}

.product-description-card{
  padding: 1.8rem 1.5rem;
}

@media (max-width: 991.98px){
  .product-shop-shell{
    grid-template-columns: 1fr;
    gap: 1.3rem;
  }

  .product-shop-image-card img{
    height: 420px;
  }
}

@media (max-width: 767.98px){
  .product-shop-image-card,
  .product-shop-info,
  .product-description-card{
    border-radius: 22px;
  }

  .product-shop-image-card{
    padding: .8rem;
  }

  .product-shop-image-card img{
    height: 320px;
    border-radius: 16px;
  }

  .product-shop-info,
  .product-description-card{
    padding: 1.3rem 1rem;
  }

  .product-shop-price{
    font-size: 1.8rem;
  }

  .product-shop-qty-wrap{
    max-width: 100%;
  }
}

.product-shop-thumbs{
  display: flex;
  gap: .75rem;
  margin-top: 1rem;
}

.product-thumb{
  border: 1px solid var(--border);
  background: #fff;
  color: var(--title);
  border-radius: 999px;
  padding: .65rem 1rem;
  font-weight: 700;
  transition: .25s ease;
}

.product-thumb.active,
.product-thumb:hover{
  background: rgba(4,175,187,.10);
  border-color: rgba(4,175,187,.30);
  color: var(--primary);
}

.product-option-group{
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.product-option-chip{
  border: 1px solid var(--border);
  background: #fff;
  color: var(--title);
  border-radius: 999px;
  padding: .7rem 1rem;
  font-weight: 700;
  transition: .25s ease;
}

.product-option-chip.active,
.product-option-chip:hover{
  background: linear-gradient(135deg, rgba(4,175,187,.12) 0%, rgba(110,53,114,.10) 100%);
  border-color: rgba(4,175,187,.28);
  color: var(--title);
}

.product-card-image{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: #fff;
}

.product-card-image img{
  width: 100%;
  height: 260px;
  object-fit: contain;
  object-position: center;
  display: block;
}

@media (max-width: 991.98px){
  .product-card-image img{
    height: 220px;
  }

  .product-shop-image-card img{
    height: 420px;
  }
}

@media (max-width: 767.98px){
  .product-card-image img{
    height: 200px;
  }

  .product-shop-image-card img{
    height: 320px;
  }
}

.product-shop-title{
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.12;
  font-weight: 900;
  color: var(--title);
  margin-bottom: .85rem;
}

.product-shop-price{
  font-size: clamp(1.6rem, 2vw, 1.95rem);
  line-height: 1;
  font-weight: 900;
  color: var(--title);
}

@media (max-width: 767.98px){
  .product-shop-title{
    font-size: 1.7rem;
  }

  .product-shop-price{
    font-size: 1.55rem;
  }
}

/* ===== LOJA - MOBILE COM IMAGEM MAIS VERTICAL ===== */
@media (max-width: 767.98px){
  .product-card{
    border-radius: 24px;
    overflow: hidden;
  }

  .product-card-image{
    padding: 1rem 1rem 0;
    background: transparent;
  }

  .product-card-image img{
    width: 100%;
    height: 300px;
    object-fit: contain;
    object-position: center;
    display: block;
    margin: 0 auto;
  }

  .product-card-body{
    padding-top: 1rem;
  }
}

/* ===== PRODUTO - GALERIA ESTILO LOJA ===== */
.product-gallery-desktop{
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.product-gallery-thumbs{
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.product-gallery-thumb{
  width: 78px;
  height: 78px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  padding: .35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .25s ease;
}

.product-gallery-thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.product-gallery-thumb.active,
.product-gallery-thumb:hover{
  border-color: rgba(4,175,187,.45);
  box-shadow: 0 0 0 2px rgba(4,175,187,.12);
}

.product-gallery-main{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 1rem;
  overflow: hidden;
}

.product-gallery-main-inner{
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
}

.product-gallery-main-inner img{
  width: 100%;
  height: 520px;
  object-fit: contain;
  object-position: center;
  display: block;
  transition: transform .35s ease;
}

.product-gallery-main-inner:hover img{
  transform: scale(1.18);
  cursor: zoom-in;
}

/* MOBILE */
.product-gallery-mobile{
  display: none;
}

.product-mobile-slide{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 1rem;
}

.product-mobile-slide img{
  width: 100%;
  height: 360px;
  object-fit: contain;
  object-position: center;
  display: block;
}

@media (max-width: 991.98px){
  .product-gallery-main-inner img{
    height: 430px;
  }
}

@media (max-width: 767.98px){
  .product-gallery-desktop{
    display: none;
  }

  .product-gallery-mobile{
    display: block;
  }

  .product-mobile-slide img{
    height: 340px;
  }

  .productMobileSwiper .swiper-pagination{
    position: relative;
    margin-top: .8rem;
  }
}

/* ===== PRODUTO - GALERIA ESTILO LOJA ===== */
.product-gallery-desktop{
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.product-gallery-thumbs{
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.product-gallery-thumb{
  width: 78px;
  height: 78px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  padding: .35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .25s ease;
}

.product-gallery-thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.product-gallery-thumb.active,
.product-gallery-thumb:hover{
  border-color: rgba(4,175,187,.45);
  box-shadow: 0 0 0 2px rgba(4,175,187,.12);
}

.product-gallery-main{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 1rem;
  overflow: hidden;
}

.product-gallery-main-inner{
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-gallery-main-inner img{
  width: 100%;
  height: 520px;
  object-fit: contain;
  object-position: center;
  display: block;
  transition: transform .35s ease;
}

.product-gallery-main-inner:hover img{
  transform: scale(1.18);
  cursor: zoom-in;
}

/* MOBILE */
.product-gallery-mobile{
  display: none;
}

.product-mobile-slide{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 1rem;
}

.product-mobile-slide img{
  width: 100%;
  height: 340px;
  object-fit: contain;
  object-position: center;
  display: block;
  margin: 0 auto;
}

.productMobileSwiper .swiper-pagination{
  position: relative;
  margin-top: .85rem;
}

/* ===== LOJA - MOBILE COM IMAGEM MAIS VERTICAL ===== */
@media (max-width: 767.98px){
  .product-card{
    border-radius: 24px;
    overflow: hidden;
  }

  .product-card-image{
    padding: 1rem 1rem 0;
    background: transparent;
  }

  .product-card-image img{
    width: 100%;
    height: 300px;
    object-fit: contain;
    object-position: center;
    display: block;
    margin: 0 auto;
  }

  .product-card-body{
    padding-top: 1rem;
  }

  .product-gallery-desktop{
    display: none !important;
  }

  .product-gallery-mobile{
    display: block !important;
  }
}

@media (min-width: 768px){
  .product-gallery-desktop{
    display: grid !important;
  }

  .product-gallery-mobile{
    display: none !important;
  }
}

@media (max-width: 991.98px){
  .product-gallery-main-inner img{
    height: 430px;
  }
}

/* ===== PRODUTO - GALERIA MOBILE / DESKTOP ===== */
.product-gallery-desktop{
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.product-gallery-mobile{
  display: none;
}

.product-gallery-thumbs{
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.product-gallery-thumb{
  width: 78px;
  height: 78px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  padding: .35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .25s ease;
}

.product-gallery-thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.product-gallery-thumb.active,
.product-gallery-thumb:hover{
  border-color: rgba(4,175,187,.45);
  box-shadow: 0 0 0 2px rgba(4,175,187,.12);
}

.product-gallery-main{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 1rem;
  overflow: hidden;
}

.product-gallery-main-inner{
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-gallery-main-inner img{
  width: 100%;
  height: 520px;
  object-fit: contain;
  object-position: center;
  display: block;
  transition: transform .35s ease;
}

.product-gallery-main-inner:hover img{
  transform: scale(1.18);
  cursor: zoom-in;
}

.product-mobile-slide{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 1rem;
}

.product-mobile-slide img{
  width: 100%;
  height: 340px;
  object-fit: contain;
  object-position: center;
  display: block;
  margin: 0 auto;
}

/* força comportamento correto do swiper mobile */
.productMobileSwiper{
  width: 100%;
  overflow: hidden;
}

.productMobileSwiper .swiper-wrapper{
  display: flex !important;
  align-items: stretch;
}

.productMobileSwiper .swiper-slide{
  flex-shrink: 0;
  width: 100%;
  height: auto;
}

.productMobileSwiper .swiper-pagination{
  position: relative;
  margin-top: .85rem;
  bottom: auto !important;
}

/* loja mobile com imagem mais vertical */
@media (max-width: 767.98px){
  .product-card{
    border-radius: 24px;
    overflow: hidden;
  }

  .product-card-image{
    padding: 1rem 1rem 0;
    background: transparent;
  }

  .product-card-image img{
    width: 100%;
    height: 340px;
    object-fit: contain;
    object-position: center;
    display: block;
    margin: 0 auto;
  }

  .product-card-body{
    padding-top: 1rem;
  }

  .product-gallery-desktop{
    display: none !important;
  }

  .product-gallery-mobile{
    display: block !important;
    width: 100%;
  }

  .product-shop-gallery{
    width: 100%;
  }
}

@media (min-width: 768px){
  .product-gallery-desktop{
    display: grid !important;
  }

  .product-gallery-mobile{
    display: none !important;
  }
}

@media (max-width: 991.98px){
  .product-gallery-main-inner img{
    height: 430px;
  }
}

/* ===== PRODUTO - AJUSTE FINAL MOBILE ===== */
@media (max-width: 767.98px){
  .product-shop-shell{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }

  .product-shop-gallery,
  .product-shop-info{
    width: 100% !important;
    min-width: 0 !important;
  }

  .product-shop-info{
    padding: 1.35rem 1rem !important;
  }

  .product-shop-title{
    font-size: 1.9rem !important;
    line-height: 1.08 !important;
    word-break: break-word;
  }

  .product-shop-price{
    font-size: 1.7rem !important;
  }

  .product-gallery-mobile{
    display: block !important;
    width: 100% !important;
  }

  .productMobileSwiper{
    width: 100% !important;
    overflow: hidden !important;
  }

  .productMobileSwiper .swiper-wrapper{
    display: flex !important;
  }

  .productMobileSwiper .swiper-slide{
    width: 100% !important;
    flex-shrink: 0 !important;
  }

  .product-mobile-slide{
    padding: 0.85rem !important;
  }

  .product-mobile-slide img{
    height: 360px !important;
  }

  .productMobileSwiper .swiper-pagination{
    display: flex !important;
    justify-content: center;
    gap: 6px;
    margin-top: .8rem;
  }

  .productMobileSwiper .swiper-pagination-bullet{
    width: 8px;
    height: 8px;
    background: rgba(4,175,187,.25);
    opacity: 1;
  }

  .productMobileSwiper .swiper-pagination-bullet-active{
    background: var(--primary);
  }
}

@media (max-width: 991.98px){
  .product-gallery-desktop{
    display: none !important;
  }

  .product-gallery-mobile{
    display: block !important;
  }
}

@media (max-width: 767.98px){
  .product-shop-title{
    font-size: 1.45rem !important;
    line-height: 1.1 !important;
    margin-bottom: .65rem !important;
  }

  .product-shop-price{
    font-size: 1.2rem !important;
    line-height: 1 !important;
    margin-bottom: .35rem !important;
  }

  .product-shop-kicker{
    font-size: .78rem !important;
    margin-bottom: .5rem !important;
  }

  .product-shop-stock{
    font-size: .92rem !important;
  }
}

/* ===== CARRINHO ===== */
.section-cart{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.cart-shell{
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 380px);
  gap: 1.5rem;
  align-items: start;
}

.cart-list{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cart-item,
.cart-summary-card{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 28px;
  box-shadow: var(--shadow-sm);
}

.cart-item{
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem;
}

.cart-item-image{
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .75rem;
}

.cart-item-image img{
  width: 100%;
  height: 140px;
  object-fit: contain;
  object-position: center;
}

.cart-item-content{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cart-item-top{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.cart-item-top h3{
  font-size: 1.15rem;
  line-height: 1.2;
  font-weight: 800;
  color: var(--title);
  margin-bottom: .45rem;
}

.cart-item-meta{
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  color: var(--text-soft);
  font-size: .95rem;
}

.cart-item-meta strong{
  color: var(--title);
}

.cart-remove-btn{
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff4f4;
  color: #d45a5a;
  border: 1px solid #f2d5d5;
  font-size: 1rem;
}

.cart-remove-btn:hover{
  background: #ffeaea;
  color: #c53f3f;
}

.cart-item-bottom{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: end;
}

.cart-price-label{
  display: block;
  font-size: .82rem;
  font-weight: 700;
  color: var(--text-soft);
  margin-bottom: .35rem;
}

.cart-price-block strong,
.cart-subtotal-block strong{
  color: var(--title);
  font-size: 1.05rem;
}

.cart-qty-block .form-label{
  font-size: .82rem;
  font-weight: 700;
  color: var(--text-soft);
  margin-bottom: .35rem;
}

.cart-qty-block input{
  max-width: 110px;
}

.cart-summary-card{
  padding: 1.5rem 1.3rem;
  position: sticky;
  top: 110px;
}

.cart-summary-title{
  font-size: 1.45rem;
  line-height: 1.15;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 1rem;
}

.cart-summary-line,
.cart-summary-total{
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.cart-summary-line{
  padding: .85rem 0;
  border-bottom: 1px solid var(--border);
  color: var(--text-soft);
}

.cart-summary-line strong{
  color: var(--title);
}

.cart-summary-total{
  padding-top: 1rem;
  align-items: center;
}

.cart-summary-total span{
  color: var(--title);
  font-weight: 800;
}

.cart-summary-total strong{
  color: var(--title);
  font-size: 1.3rem;
  font-weight: 900;
}

.cart-summary-note{
  margin: 1rem 0 0;
  font-size: .92rem;
  color: var(--text-soft);
}

.cart-actions-inline{
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 1.2rem;
}

@media (max-width: 991.98px){
  .cart-shell{
    grid-template-columns: 1fr;
  }

  .cart-summary-card{
    position: static;
    top: auto;
  }
}

@media (max-width: 767.98px){
  .cart-item{
    grid-template-columns: 1fr;
    padding: 1rem;
    border-radius: 22px;
  }

  .cart-summary-card{
    border-radius: 22px;
    padding: 1.2rem 1rem;
  }

  .cart-item-image img{
    height: 220px;
  }

  .cart-item-bottom{
    grid-template-columns: 1fr;
    gap: .9rem;
  }

  .cart-qty-block input{
    max-width: 100%;
  }

  .cart-actions-inline{
    flex-direction: column;
  }

  .cart-actions-inline .btn{
    width: 100%;
  }
}

/* ===== CHECKOUT ===== */
.section-checkout{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.checkout-shell{
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 390px);
  gap: 1.5rem;
  align-items: start;
}

.checkout-card,
.checkout-summary-card{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 28px;
  box-shadow: var(--shadow-sm);
}

.checkout-card{
  padding: 1.6rem 1.4rem;
}

.checkout-card-title{
  font-size: 1.35rem;
  line-height: 1.15;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 1rem;
}

.checkout-cep-group{
  display: flex;
  gap: .7rem;
}

.checkout-cep-group .btn{
  white-space: nowrap;
}

.checkout-help-text{
  display: block;
  margin-top: .45rem;
  color: var(--text-soft);
  font-size: .88rem;
}

.checkout-summary-card{
  padding: 1.5rem 1.3rem;
  position: sticky;
  top: 110px;
}

.checkout-summary-title{
  font-size: 1.4rem;
  line-height: 1.15;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 1rem;
}

.checkout-summary-items{
  display: flex;
  flex-direction: column;
  gap: .9rem;
  margin-bottom: 1rem;
}

.checkout-summary-item{
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: start;
  padding-bottom: .9rem;
  border-bottom: 1px solid var(--border);
}

.checkout-summary-item-image{
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .35rem;
}

.checkout-summary-item-image img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.checkout-summary-item-content{
  display: flex;
  flex-direction: column;
  gap: .1rem;
}

.checkout-summary-item-content strong{
  color: var(--title);
  font-size: .95rem;
  line-height: 1.2;
}

.checkout-summary-item-content span{
  color: var(--text-soft);
  font-size: .85rem;
}

.checkout-summary-item-price{
  color: var(--title);
  font-size: .92rem;
  font-weight: 800;
  white-space: nowrap;
}

.checkout-summary-line,
.checkout-summary-total{
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.checkout-summary-line{
  padding: .85rem 0;
  border-bottom: 1px solid var(--border);
  color: var(--text-soft);
}

.checkout-summary-line strong{
  color: var(--title);
}

.checkout-summary-total{
  padding-top: 1rem;
  align-items: center;
}

.checkout-summary-total span{
  color: var(--title);
  font-weight: 800;
}

.checkout-summary-total strong{
  color: var(--title);
  font-size: 1.3rem;
  font-weight: 900;
}

.checkout-summary-note{
  margin: 1rem 0 0;
  font-size: .92rem;
  color: var(--text-soft);
}

@media (max-width: 991.98px){
  .checkout-shell{
    grid-template-columns: 1fr;
  }

  .checkout-summary-card{
    position: static;
    top: auto;
  }
}

@media (max-width: 767.98px){
  .checkout-card,
  .checkout-summary-card{
    border-radius: 22px;
  }

  .checkout-card{
    padding: 1.25rem 1rem;
  }

  .checkout-summary-card{
    padding: 1.2rem 1rem;
  }

  .checkout-cep-group{
    flex-direction: column;
  }

  .checkout-summary-item{
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .checkout-summary-item-price{
    grid-column: 2;
    margin-top: .35rem;
  }
}

/* ===== PAGAMENTO LOJA ===== */
.payment-shell{
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 360px);
  gap: 1.5rem;
  align-items: start;
}

.payment-card,
.payment-summary-card{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 28px;
  box-shadow: var(--shadow-sm);
}

.payment-card{
  padding: 1.6rem 1.4rem;
  text-align: center;
}

.payment-title{
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  line-height: 1.1;
  font-weight: 900;
  color: var(--title);
  margin-bottom: .8rem;
}

.payment-status-badge{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .8rem 1rem;
  border-radius: 999px;
  background: #fff6e7;
  color: #cc7b10;
  font-weight: 800;
}

.payment-qr-wrap{
  display: flex;
  justify-content: center;
}

.payment-qr-image{
  max-width: 280px;
  width: 100%;
  border-radius: 22px;
  border: 1px solid var(--border);
  background: #fff;
  padding: .8rem;
}

.payment-note-box{
  background: #f8fbff;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 1rem;
  text-align: left;
  color: var(--text-soft);
}

.payment-summary-card{
  padding: 1.5rem 1.3rem;
  position: sticky;
  top: 110px;
}

.payment-summary-title{
  font-size: 1.35rem;
  line-height: 1.15;
  font-weight: 900;
  color: var(--title);
  margin-bottom: 1rem;
}

.payment-summary-line,
.payment-summary-total{
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.payment-summary-line{
  padding: .85rem 0;
  border-bottom: 1px solid var(--border);
  color: var(--text-soft);
}

.payment-summary-line strong{
  color: var(--title);
}

.payment-summary-total{
  padding-top: 1rem;
  align-items: center;
}

.payment-summary-total span{
  color: var(--title);
  font-weight: 800;
}

.payment-summary-total strong{
  color: var(--title);
  font-size: 1.3rem;
  font-weight: 900;
}

@media (max-width: 991.98px){
  .payment-shell{
    grid-template-columns: 1fr;
  }

  .payment-summary-card{
    position: static;
    top: auto;
  }
}

@media (max-width: 767.98px){
  .payment-card,
  .payment-summary-card{
    border-radius: 22px;
  }

  .payment-card{
    padding: 1.3rem 1rem;
  }

  .payment-summary-card{
    padding: 1.2rem 1rem;
  }

  .payment-title{
    font-size: 1.55rem;
  }

  .payment-qr-image{
    max-width: 240px;
  }
}

/* ===== LOJA - ABERTURA ===== */
.section-store-opening{
  padding-top: 4.5rem;
  padding-bottom: 2rem;
}

/* ===== LOJA - HEADER DO CATÁLOGO ===== */
.store-header-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.store-header-content{
  max-width: 760px;
}

.store-header-cart{
  flex-shrink: 0;
}

.store-cart-btn{
  position: relative;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  color: var(--title);
  font-size: 1.15rem;
  transition: var(--transition);
}

.store-cart-btn:hover{
  color: var(--primary);
  border-color: rgba(4,175,187,.28);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.store-cart-count{
  position: absolute;
  top: -4px;
  right: -2px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

@media (max-width: 767.98px){
  .section-store-opening{
    padding-top: 3.5rem;
    padding-bottom: 1.5rem;
  }

  .store-header-row{
    align-items: center;
  }

  .store-header-content{
    min-width: 0;
  }

  .store-cart-btn{
    width: 46px;
    height: 46px;
    font-size: 1rem;
  }

  .store-cart-count{
    min-width: 20px;
    height: 20px;
    font-size: .68rem;
  }
}

/* ===== LOJA - SEÇÕES MAIS DELIMITADAS ===== */
.store-opening-box,
.store-header-box{
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: 30px;
  box-shadow: var(--shadow-sm);
}

.store-opening-box{
  padding: 2.4rem 2rem;
}

.store-header-box{
  padding: 1.8rem 1.6rem;
}

.section-store-opening .section-heading,
.section-store-header .section-heading{
  margin-bottom: 0;
}

.store-header-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.store-header-content{
  max-width: 760px;
}

.store-header-cart{
  flex-shrink: 0;
}

@media (max-width: 767.98px){
  .store-opening-box{
    padding: 1.6rem 1rem;
    border-radius: 22px;
  }

  .store-header-box{
    padding: 1.25rem 1rem;
    border-radius: 22px;
  }

  .store-header-row{
    align-items: center;
    gap: .75rem;
  }

  .store-header-content{
    min-width: 0;
  }
}

.section-store-opening{
 background:
    radial-gradient(circle at 10% 20%, rgba(244, 197, 66, 0.14), transparent 20%),
    radial-gradient(circle at 90% 15%, rgba(138, 91, 209, 0.12), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.section-store-header{
  background: transparent;
}

.section-store-grid{
  background: transparent;
}

/* ===== LOJA.PHP - AJUSTE FINO MOBILE ===== */
@media (max-width: 767.98px){

  .section-store-opening{
    padding-top: 2.4rem !important;
    padding-bottom: 1.1rem !important;
  }

  .store-opening-box{
    padding: 1.35rem 1rem !important;
    border-radius: 22px !important;
  }

  .section-store-opening .section-title{
    font-size: 1.8rem !important;
    line-height: 1.08 !important;
    margin-bottom: .7rem !important;
  }

  .section-store-opening .section-text{
    font-size: .98rem !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
  }

  .section-store-header{
    padding-top: 1.1rem !important;
    padding-bottom: 1.2rem !important;
  }

  .store-header-box{
    padding: 1.15rem 1rem !important;
    border-radius: 22px !important;
  }

  .store-header-row{
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: start !important;
    gap: .9rem !important;
  }

  .store-header-content{
    max-width: none !important;
    min-width: 0 !important;
  }

  .store-header-content .section-kicker{
    margin-bottom: .45rem !important;
    font-size: .8rem !important;
  }

  .store-header-content .section-title{
    font-size: 1.25rem !important;
    line-height: 1.1 !important;
    margin-bottom: .6rem !important;
  }

  .store-header-content .section-text{
    font-size: .98rem !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
    margin-bottom: 0 !important;
  }

  .store-header-cart{
    align-self: start !important;
    margin-top: .1rem !important;
  }

  .store-cart-btn{
    width: 44px !important;
    height: 44px !important;
    font-size: 1rem !important;
  }

  .store-cart-count{
    min-width: 18px !important;
    height: 18px !important;
    font-size: .64rem !important;
    top: -3px !important;
    right: -1px !important;
  }

  .section-store-grid{
    padding-top: 1rem !important;
    padding-bottom: 3.2rem !important;
  }

  .section-store-grid .row{
    row-gap: 1rem !important;
  }

  .product-card{
    border-radius: 22px !important;
  }

  .product-card-image{
    padding: .85rem .85rem 0 !important;
  }

  .product-card-image img{
    height: 320px !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 18px !important;
  }

  .product-card-body{
    padding: 1rem .95rem 1.1rem !important;
  }

  .product-category{
    font-size: .76rem !important;
    margin-bottom: .7rem !important;
  }

  .product-card-body h3{
    font-size: 1.05rem !important;
    line-height: 1.15 !important;
    margin-bottom: .55rem !important;
  }

  .product-card-body p{
    font-size: .95rem !important;
    line-height: 1.6 !important;
    margin-bottom: .85rem !important;
  }

  .product-card-bottom{
    gap: .7rem !important;
  }

  .product-card-bottom strong{
    font-size: 1rem !important;
  }

  .product-card-bottom .btn{
    width: 100% !important;
  }
}

@media (max-width: 767.98px){
  .section-store-header{
    padding-bottom: 1.8rem !important;
  }

  .section-store-grid{
    padding-top: 1.8rem !important;
  }

  .store-header-content .section-text{
    margin-bottom: .9rem !important;
  }
}

/* ===== T21 - AJUSTE MOBILE DE ALINHAMENTO ===== */
@media (max-width: 767.98px){

  /* Hero da página T21 */
  .page-hero .col-lg-6:first-child{
    text-align: center;
  }

  .page-hero .col-lg-6:first-child .section-text{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    max-width: 34rem;
  }

  /* Seção "O que é a T21" */
  .section-t21-intro .col-lg-7{
    text-align: center;
  }

  .section-t21-intro .section-heading{
    text-align: center;
    max-width: 34rem;
    margin-left: auto;
    margin-right: auto;
  }

  .section-t21-intro .section-title{
    text-align: center;
  }

  /* Parágrafos: melhor manter à esquerda no mobile */
  .section-t21-intro .section-text{
    text-align: left !important;
    max-width: 34rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ===== TIMELINE - ANOS 2023 A 2026 ===== */

.history-year-2023 .history-year-badge{
  background: linear-gradient(135deg, rgb(4,175,187) 0%, rgb(0,135,235) 100%);
}

.history-year-2023{
  background: linear-gradient(180deg, rgba(4,175,187,.08) 0%, #ffffff 100%);
}

.history-year-2024 .history-year-badge{
  background: linear-gradient(135deg, rgb(246,163,53) 0%, rgb(234,90,51) 100%);
}

.history-year-2024{
  background: linear-gradient(180deg, rgba(246,163,53,.10) 0%, #ffffff 100%);
}

.history-year-2025 .history-year-badge{
  background: linear-gradient(135deg, rgb(255,84,115) 0%, rgb(148,58,97) 100%);
}

.history-year-2025{
  background: linear-gradient(180deg, rgba(255,84,115,.08) 0%, #ffffff 100%);
}

.history-year-2026 .history-year-badge{
  background: linear-gradient(135deg, rgb(110,53,114) 0%, rgb(43,25,46) 100%);
}

.history-year-2026{
  background:
    radial-gradient(circle at top right, rgba(4,175,187,.12), transparent 26%),
    linear-gradient(180deg, rgba(110,53,114,.07) 0%, #ffffff 100%);
}

/* ===== TIMELINE - HOVER MAIS VIVO ===== */

.history-year-card{
  isolation: isolate;
}

.history-year-card::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: linear-gradient(135deg, rgba(4,175,187,.10) 0%, rgba(186,209,97,.10) 45%, rgba(246,163,53,.08) 100%);
  transition: opacity .28s ease;
}

.history-year-card:hover{
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 26px 60px rgba(20,33,61,.14);
  border-color: rgba(4,175,187,.18);
}

.history-year-card:hover::before{
  opacity: 1;
}

.history-year-card:hover .history-year-badge{
  transform: scale(1.06) rotate(-2deg);
  box-shadow: 0 18px 34px rgba(20,33,61,.18);
}

.history-year-card:hover .history-year-image img{
  transform: scale(1.025);
}

.history-year-badge,
.history-year-image img{
  transition: all .28s ease;
}

/* ===== TIMELINE - CORES 2023 A 2026 BASEADAS NAS IMAGENS ===== */

.history-year-2023 .history-year-badge{
  background: linear-gradient(135deg, #00a8d8 0%, #0087eb 100%);
}

.history-year-2023{
  background:
    radial-gradient(circle at top right, rgba(201, 222, 105, .22), transparent 28%),
    linear-gradient(180deg, #f4fbe6 0%, #ffffff 100%);
}

.history-year-2024 .history-year-badge{
  background: linear-gradient(135deg, #ff9f35 0%, #f06a2d 100%);
}

.history-year-2024{
  background:
    radial-gradient(circle at top right, rgba(255, 184, 82, .24), transparent 28%),
    linear-gradient(180deg, #fff4df 0%, #ffffff 100%);
}

.history-year-2025 .history-year-badge{
  background: linear-gradient(135deg, #ff5473 0%, #b83d72 100%);
}

.history-year-2025{
  background:
    radial-gradient(circle at top right, rgba(244, 125, 100, .24), transparent 28%),
    linear-gradient(180deg, #fff0ef 0%, #ffffff 100%);
}

.history-year-2026 .history-year-badge{
  background: linear-gradient(135deg, #6e3572 0%, #2b192e 100%);
}

.history-year-2026{
  background:
    radial-gradient(circle at top right, rgba(4,175,187,.16), transparent 30%),
    radial-gradient(circle at bottom left, rgba(110,53,114,.12), transparent 28%),
    linear-gradient(180deg, #f4fbff 0%, #ffffff 100%);
}

/* ===== TIMELINE - CARD FUTURO 2026 CORRIGIDO ===== */

.history-year-future .history-year-content{
  padding: 1.4rem 1.4rem 1.5rem;
}

.history-year-future-wrap{
  padding-left: 110px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 1.2rem;
  align-items: center;
  min-height: 150px;
}

.history-year-future-icon{
  width: 74px;
  height: 74px;
  border-radius: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(4,175,187,.16) 0%, rgba(110,53,114,.18) 100%);
  color: var(--primary-dark);
  font-size: 1.8rem;
  box-shadow: 0 12px 28px rgba(20,33,61,.08);
}

.history-year-future-body{
  min-width: 0;
}

.history-year-future-label{
  display: inline-block;
  margin-bottom: .55rem;
  font-size: .86rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--primary);
}

.history-year-future-body p{
  margin: 0 0 1rem;
  color: var(--text-soft);
  line-height: 1.75;
}

.history-year-progress{
  width: 100%;
  max-width: 420px;
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(2,22,47,.08);
}

.history-year-progress span{
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgb(4,175,187) 0%, rgb(186,209,97) 52%, rgb(246,163,53) 100%);
  animation: historyProgressPulse 2s ease-in-out infinite;
}

@keyframes historyProgressPulse{
  0%{
    width: 34%;
    opacity: .75;
  }

  50%{
    width: 76%;
    opacity: 1;
  }

  100%{
    width: 52%;
    opacity: .9;
  }
}

@media (max-width: 991.98px){
  .history-year-future-wrap{
    padding-left: 92px;
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .history-year-future-icon{
    width: 64px;
    height: 64px;
    border-radius: 18px;
    font-size: 1.45rem;
  }
}

@media (max-width: 767.98px){
  .history-year-future-wrap{
    padding-left: 0;
    display: block;
    min-height: auto;
  }

  .history-year-future-icon{
    margin-bottom: .9rem;
  }

  .history-year-progress{
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce){
  .history-year-progress span{
    animation: none;
    width: 58%;
  }
}

/* ===== TIMELINE - HOVER DOS CARDS ===== */

.history-year-card{
  isolation: isolate;
}

.history-year-card::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.28) 0%, rgba(4,175,187,.08) 100%);
  transition: opacity .28s ease;
}

.history-year-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 26px 60px rgba(20,33,61,.14);
  border-color: rgba(4,175,187,.18);
}

.history-year-card:hover::before{
  opacity: 1;
}

.history-year-card:hover .history-year-badge{
  transform: scale(1.06) rotate(-2deg);
}

.history-year-card:hover .history-year-image img{
  transform: scale(1.025);
}

.history-year-badge,
.history-year-image img{
  transition: all .28s ease;
}

@media (max-width: 767.98px){

  .history-year-image{
    width: calc(100% + 1.2rem);
    margin-left: -0.6rem;
    margin-right: -0.6rem;
    padding: 0.35rem !important;
    border-radius: 20px;
    background: rgba(255,255,255,.92);
  }

  .history-year-image img{
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 16px !important;
  }
}

/* ===== GALERIA DE PROJETOS - IMAGENS SEM CORTE ===== */

.project-gallery-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
  max-width: 1100px;
  margin: 0 auto;
}

.project-gallery-item{
  position: relative;
  min-height: 340px;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  padding: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}

.project-gallery-item::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--gallery-bg);
  background-size: cover;
  background-position: center;
  filter: blur(22px);
  transform: scale(1.12);
  opacity: .28;
}

.project-gallery-item::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(255,255,255,.58);
}

.project-gallery-item img{
  width: 100%;
  height: 320px;
  object-fit: contain;
  object-position: center;
  border-radius: 20px;
  box-shadow: none;
  background: rgba(255,255,255,.72);
  transition: transform .3s ease;
}

.project-gallery-item:hover img{
  transform: scale(1.025);
}

@media (max-width: 991.98px){
  .project-gallery-item{
    min-height: 310px;
  }

  .project-gallery-item img{
    height: 290px;
  }
}

@media (max-width: 767.98px){
  .project-gallery-grid{
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .project-gallery-item{
    min-height: 300px;
    border-radius: 22px;
    padding: 0.65rem;
  }

  .project-gallery-item img{
    height: 280px;
    border-radius: 16px;
  }
}

/* ===== GALERIA DE PROJETOS - FUNDO DESFOCADO CORRIGIDO ===== */

.project-gallery-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
  max-width: 1100px;
  margin: 0 auto;
}

.project-gallery-item{
  position: relative;
  min-height: 340px;
  border-radius: 28px;
  overflow: hidden;
  background: transparent !important;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  padding: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}

.project-gallery-item::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--gallery-bg);
  background-size: cover;
  background-position: center;
  filter: blur(24px);
  transform: scale(1.16);
  opacity: .55;
}

.project-gallery-item::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(255,255,255,.42);
}

.project-gallery-item img{
  position: relative;
  z-index: 2;
  width: 100% !important;
  height: 320px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.34) !important;
  box-shadow: none !important;
  transition: transform .3s ease;
}

.project-gallery-item:hover img{
  transform: scale(1.025);
}

@media (max-width: 991.98px){
  .project-gallery-item{
    min-height: 310px;
  }

  .project-gallery-item img{
    height: 290px !important;
  }
}

@media (max-width: 767.98px){
  .project-gallery-grid{
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .project-gallery-item{
    min-height: 300px;
    border-radius: 22px;
    padding: 0.65rem;
  }

  .project-gallery-item img{
    height: 280px !important;
    border-radius: 16px !important;
  }
}

/* ===== GALERIA DE PROJETOS - FUNDO DESFOCADO FUNCIONAL ===== */

.project-gallery-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.2rem !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.project-gallery-item{
  position: relative !important;
  min-height: 340px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  padding: 0.85rem !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-sm) !important;
  background: #f8fbff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* imagem de fundo desfocada */
.project-gallery-item .project-gallery-bg{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: blur(26px) !important;
  transform: scale(1.18) !important;
  opacity: 0.55 !important;
  z-index: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* camada clara por cima do blur */
.project-gallery-item::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: rgba(255,255,255,.35) !important;
}

/* imagem principal sem corte */
.project-gallery-item .project-gallery-photo{
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 320px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.20) !important;
  box-shadow: none !important;
  transition: transform .3s ease !important;
}

.project-gallery-item:hover .project-gallery-photo{
  transform: scale(1.025) !important;
}

@media (max-width: 991.98px){
  .project-gallery-item{
    min-height: 310px !important;
  }

  .project-gallery-item .project-gallery-photo{
    height: 290px !important;
  }
}

@media (max-width: 767.98px){
  .project-gallery-grid{
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .project-gallery-item{
    min-height: 300px !important;
    border-radius: 22px !important;
    padding: 0.65rem !important;
  }

  .project-gallery-item .project-gallery-photo{
    height: 280px !important;
    border-radius: 16px !important;
  }
}

/* ===== GALERIA DE PROJETOS - MOLDURA BRANCA + FUNDO SUAVE ===== */

.project-gallery-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.project-gallery-item{
  background: #ffffff !important;
  border: 1px solid var(--border) !important;
  border-radius: 28px !important;
  padding: 1rem !important;
  box-shadow: var(--shadow-sm) !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
}

.project-gallery-item:hover{
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-md) !important;
}

.project-gallery-frame{
  position: relative !important;
  width: 100% !important;
  height: 330px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #f8fbff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Fundo desfocado apenas dentro da imagem */
.project-gallery-frame .project-gallery-bg{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: blur(22px) !important;
  transform: scale(1.12) !important;
  opacity: .45 !important;
  z-index: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Camada clara para suavizar o blur */
.project-gallery-frame::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: rgba(255,255,255,.48) !important;
}

/* Foto principal sem corte */
.project-gallery-frame .project-gallery-photo{
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  background: transparent !important;
  transition: transform .28s ease !important;
}

.project-gallery-item:hover .project-gallery-photo{
  transform: scale(1.018) !important;
}

@media (max-width: 991.98px){
  .project-gallery-frame{
    height: 300px !important;
  }
}

@media (max-width: 767.98px){
  .project-gallery-grid{
    grid-template-columns: 1fr !important;
    gap: 1.1rem !important;
  }

  .project-gallery-item{
    border-radius: 22px !important;
    padding: .75rem !important;
  }

  .project-gallery-frame{
    height: 300px !important;
    border-radius: 18px !important;
  }

  .project-gallery-frame .project-gallery-photo{
    border-radius: 14px !important;
  }
}

.contact-form-box .alert{
  border-radius: 18px;
  border: 1px solid var(--border);
  padding: 1rem 1.1rem;
  font-weight: 600;
}

.contact-form-box .alert-success{
  background: rgba(186, 209, 97, .16);
  color: #4f6f1f;
}

.contact-form-box .alert-danger{
  background: rgba(234, 90, 51, .10);
  color: #9b2f1d;
}