/* ==================================================
   MODELO 07 - SISTEMA VISUAL
   Base ajustada para consistência, manutenção e responsivo
================================================== */

body.template-modelo-07{
  font-family: Inter, Arial, sans-serif;
  background: var(--bg, #ffffff);
  color: var(--ink, #111827);
  overflow-x: hidden;
}

.template-modelo-07{
  --m07-radius-sm: 16px;
  --m07-radius-md: 24px;
  --m07-radius-lg: 28px;
  --m07-radius-xl: 34px;

  --m07-shadow-sm: 0 14px 42px rgba(0,0,0,.06);
  --m07-shadow-md: 0 18px 50px rgba(0,0,0,.08);
  --m07-shadow-lg: 0 28px 80px rgba(0,0,0,.12);

  --m07-space-xs: 20px;
  --m07-space-sm: 32px;
  --m07-space-md: 50px;
  --m07-space-lg: 60px;

  --m07-title-font: Outfit, Inter, sans-serif;
}

/* ==================================================
   HEADER
================================================== */

.m07-navbar{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: var(--bg, #fff);
  border-bottom: 1px solid var(--border, #e5e7eb);
  padding: 16px 0;
}

.m07-navbar-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.m07-brand{
  font-weight: 800;
  color: var(--ink, #111827);
  text-decoration: none;
}

.m07-brand img{
  max-height: 42px;
  max-width: 180px;
}

.m07-nav-collapse{
  display: flex;
  align-items: center;
  gap: 18px;
}

.m07-menu{
  display: flex;
  align-items: center;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.m07-menu a{
  text-decoration: none;
  color: var(--muted, #6b7280);
  font-weight: 700;
}

.m07-nav-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: var(--cta-bg, var(--cor-primaria, #0d6efd));
  color: var(--cta-texto, #fff);
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 800;
}

.m07-menu-toggle{
  display: none;
}

main{
  padding-top: 90px;
}

/* ==================================================
   PADRÕES GLOBAIS DO MODELO
================================================== */

.template-modelo-07 .m07-btn-primary,
.template-modelo-07 .m07-hero-final-cta,
.template-modelo-07 .m07-sobre-cta,
.template-modelo-07 .m07-contato-footer-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 13px 30px;
  border-radius: 999px;
  background: var(--cta-bg, var(--cor-primaria));
  color: var(--cta-texto, #fff);
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 16px 36px color-mix(in srgb, var(--cor-primaria) 28%, transparent);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.template-modelo-07 .m07-btn-primary:hover,
.template-modelo-07 .m07-hero-final-cta:hover,
.template-modelo-07 .m07-sobre-cta:hover,
.template-modelo-07 .m07-contato-footer-cta:hover{
  transform: translateY(-2px);
  filter: brightness(1.03);
}

.template-modelo-07 .m07-title-base,
.template-modelo-07 .m07-sobre-title,
.template-modelo-07 .m07-servicos-head h2,
.template-modelo-07 .m07-galeria-head h2,
.template-modelo-07 .m07-contato-footer-top h2{
  color: inherit;
  font-family: var(--m07-title-font);
  line-height: 1.04;
  letter-spacing: -.05em;
  font-weight: 900;
}

.template-modelo-07 .m07-card-base,
.template-modelo-07 .m07-servico-card,
.template-modelo-07 .m07-galeria-item{
  background: var(--card);
  border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
  box-shadow: var(--m07-shadow-md);
}

/* Animações leves ao rolar */
.template-modelo-07 .m07-reveal-left,
.template-modelo-07 .m07-reveal-right,
.template-modelo-07 .m07-reveal-up{
  opacity: 0;
  transition: opacity .72s ease, transform .72s ease;
  transition-delay: var(--delay, 0ms);
  will-change: opacity, transform;
}

.template-modelo-07 .m07-reveal-left{
  transform: translateX(-28px);
}

.template-modelo-07 .m07-reveal-right{
  transform: translateX(28px);
}

.template-modelo-07 .m07-reveal-up{
  transform: translateY(24px);
}

.template-modelo-07 .m07-reveal-visible{
  opacity: 1;
  transform: translate(0,0);
}

/* ==================================================
   HERO FINAL
================================================== */

.template-modelo-07 #hero{
  padding: 0 !important;
  margin: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  min-height: 0 !important;
  overflow: hidden !important;
  color: inherit;
}

.template-modelo-07 #hero > .container,
.template-modelo-07 #hero .container{
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.template-modelo-07 #hero .m07-hero-final{
  position: relative !important;
  width: 100% !important;
  height: var(--m07-hero-height, 100vh) !important;
  min-height: var(--m07-hero-height, 100vh) !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  color: inherit;
}

.template-modelo-07 #hero .m07-hero-final-bg,
.template-modelo-07 #hero .m07-hero-final > img.m07-hero-final-bg{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  z-index: 0 !important;
}

.template-modelo-07 #hero .m07-hero-final-overlay{
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(7,21,34,var(--m07-hero-overlay,.65)) 0%,
      rgba(7,21,34,calc(var(--m07-hero-overlay,.65) * .82)) 45%,
      rgba(7,21,34,calc(var(--m07-hero-overlay,.65) * .45)) 100%
    ) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.template-modelo-07 #hero .m07-hero-final-content{
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  padding: 120px 20px 60px !important;
}

.template-modelo-07 #hero .m07-hero-final h1{
  max-width: 900px;
  margin: 0 auto;
  color: #ffffff !important;
  font-family: var(--m07-title-font);
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: 1.02;
  letter-spacing: -.05em;
  font-weight: 900;
  text-shadow:
    0 5px 18px rgba(0,0,0,.35),
    0 14px 40px rgba(0,0,0,.30);
}

.template-modelo-07 #hero .m07-hero-final p{
  max-width: 720px;
  margin: 24px auto 0;
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: clamp(1.05rem, 1.4vw, 1.28rem);
  line-height: 1.7;
  text-shadow: 0 3px 14px rgba(0,0,0,.30);
}

.template-modelo-07 #hero .m07-hero-final-cta{
  margin-top: 36px;
  box-shadow: 0 18px 45px rgba(0,0,0,.25);
}

/* ==================================================
   SOBRE
================================================== */

.template-modelo-07 #sobre{
  overflow: hidden;
}

.template-modelo-07 .m07-sobre{
  padding: 50px 0;
  color: inherit;
}

.template-modelo-07 .m07-sobre-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.template-modelo-07 .m07-sobre-content{
  max-width: 620px;
}

.template-modelo-07 .m07-sobre-title{
  margin: 0;
  text-align: left;
  font-size: clamp(2.2rem,4.4vw,4.2rem);
  line-height: 1.02;
  letter-spacing: -.055em;
}

.template-modelo-07 .m07-sobre-text{
  margin-top: 28px;
  color: inherit;
  opacity: .84;
  font-size: 1.08rem;
  line-height: 1.82;
}

.template-modelo-07 .m07-sobre-cta{
  margin-top: 36px;
}

.template-modelo-07 .m07-sobre-media{
  position: relative;
}

.template-modelo-07 .m07-sobre-media::before{
  content: "";
  position: absolute;
  inset: auto auto -24px -24px;
  width: 46%;
  height: 46%;
  border-radius: var(--m07-radius-lg);
  background: color-mix(in srgb, var(--cor-primaria) 18%, transparent);
  z-index: 0;
}

.template-modelo-07 .m07-sobre-image{
  position: relative;
  z-index: 1;
  border-radius: var(--m07-radius-xl);
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--m07-shadow-lg);
}

.template-modelo-07 .m07-sobre-image img{
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
  transition: transform .45s ease;
}

.template-modelo-07 .m07-sobre-image:hover img{
  transform: scale(1.035);
}

/* ==================================================
   SERVIÇOS
================================================== */

.template-modelo-07 #servicos{
  overflow: hidden;
}

.template-modelo-07 .m07-servicos{
  padding: 20px 0;
  color: inherit;
}

.template-modelo-07 .m07-servicos-head{
  max-width: 820px;
  margin: 0 auto 28px;
  text-align: center;
}

.template-modelo-07 .m07-servicos-head h2{
  margin: 0;
  font-size: clamp(2.1rem,4vw,3.8rem);
}

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

.template-modelo-07 .m07-servico-card{
  position: relative;
  min-height: 220px;
  padding: 26px;
  border-radius: var(--m07-radius-lg);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.template-modelo-07 .m07-servico-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--cor-primaria) 10%, transparent),
    transparent 45%
  );
  opacity: .75;
  pointer-events: none;
}

.template-modelo-07 .m07-servico-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 28px 76px rgba(0,0,0,.12);
  border-color: color-mix(in srgb, var(--cor-primaria) 30%, var(--border));
}

.template-modelo-07 .m07-servico-number{
  position: absolute;
  top: 24px;
  right: 24px;
  width: 46px;
  height: 46px;
  border-radius: var(--m07-radius-sm);
  display: grid;
  place-items: center;
  background: var(--cor-primaria);
  color: var(--cta-texto,#fff);
  font-weight: 900;
  letter-spacing: -.04em;
  z-index: 2;
}

.template-modelo-07 .m07-servico-card h3{
  position: relative;
  z-index: 2;
  max-width: calc(100% - 68px);
  margin: 4px 0 16px;
  color: inherit;
  font-family: var(--m07-title-font);
  font-size: clamp(1.18rem,1.3vw,1.42rem);
  line-height: 1.14;
  letter-spacing: -.035em;
  font-weight: 900;
}

.template-modelo-07 .m07-servico-card p{
  position: relative;
  z-index: 2;
  margin: 0;
  color: inherit;
  opacity: .76;
  font-size: .96rem;
  line-height: 1.68;
}

/* ==================================================
   GALERIA
================================================== */

.template-modelo-07 #galeria{
  overflow: hidden;
}

.template-modelo-07 .m07-galeria{
  padding: 45px 0 60px;
  color: inherit;
}

.template-modelo-07 .m07-galeria-head{
  max-width: 820px;
  margin: 0 auto 32px;
  text-align: center;
}

.template-modelo-07 .m07-galeria-head h2{
  margin: 0;
  font-size: clamp(2.1rem,4vw,3.8rem);
}

.template-modelo-07 .m07-galeria-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}

.template-modelo-07 .m07-galeria-item{
  position: relative;
  margin: 0;
  min-height: 260px;
  border-radius: var(--m07-radius-lg);
  overflow: hidden;
}

.template-modelo-07 .m07-galeria-item:nth-child(6n+1),
.template-modelo-07 .m07-galeria-item:nth-child(6n+4){
  grid-column: span 7;
  min-height: 360px;
}

.template-modelo-07 .m07-galeria-item:nth-child(6n+2),
.template-modelo-07 .m07-galeria-item:nth-child(6n+3),
.template-modelo-07 .m07-galeria-item:nth-child(6n+5),
.template-modelo-07 .m07-galeria-item:nth-child(6n+6){
  grid-column: span 5;
}

.template-modelo-07 .m07-galeria-item img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease, filter .45s ease;
}

.template-modelo-07 .m07-galeria-item::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.22));
  opacity: 0;
  transition: .3s ease;
  pointer-events: none;
}

.template-modelo-07 .m07-galeria-item:hover img{
  transform: scale(1.045);
  filter: saturate(1.06);
}

.template-modelo-07 .m07-galeria-item:hover::after{
  opacity: 1;
}

/* ==================================================
   CONTATO COM CARA DE FOOTER
================================================== */

.template-modelo-07 #contato{
  overflow: hidden;
}

.template-modelo-07 .m07-contato-footer{
  padding: 58px 0 28px;
  color: inherit;
}

.template-modelo-07 .m07-contato-footer-top{
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.template-modelo-07 .m07-contato-footer-top h2{
  margin: 0;
  font-size: clamp(2rem,4vw,3.6rem);
}

.template-modelo-07 .m07-contato-footer-top p{
  max-width: 620px;
  margin: 20px auto 0;
  color: inherit;
  opacity: .82;
  font-size: 1.05rem;
  line-height: 1.72;
}

.template-modelo-07 .m07-contato-footer-cta{
  margin-top: 28px;
}

.template-modelo-07 .m07-contato-footer-divider{
  width: 100%;
  height: 1px;
  margin: 46px 0 34px;
  background: color-mix(in srgb, currentColor 16%, transparent);
}

.template-modelo-07 .m07-contato-footer-grid{
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr 1fr;
  gap: 34px;
}

.template-modelo-07 .m07-contato-footer-brand{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.template-modelo-07 .m07-contato-footer-brand img{
  max-width: 150px;
  max-height: 58px;
  object-fit: contain;
  margin-bottom: 8px;
}

.template-modelo-07 .m07-contato-footer-brand strong{
  color: inherit;
  font-family: var(--m07-title-font);
  font-size: 1.25rem;
  letter-spacing: -.035em;
  font-weight: 900;
}

.template-modelo-07 .m07-contato-footer-brand span,
.template-modelo-07 .m07-contato-footer-col span{
  color: inherit;
  opacity: .72;
  font-size: .96rem;
  line-height: 1.6;
}

.template-modelo-07 .m07-contato-footer-col h3{
  margin: 0 0 14px;
  color: var(--cor-primaria);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.template-modelo-07 .m07-contato-footer-col{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}

.template-modelo-07 .m07-contato-footer-col a{
  color: inherit;
  opacity: .82;
  text-decoration: none;
  font-size: .96rem;
  line-height: 1.55;
  font-weight: 700;
  transition: .2s ease;
}

.template-modelo-07 .m07-contato-footer-col a:hover{
  opacity: 1;
  color: var(--cor-primaria);
}

.template-modelo-07 .m07-contato-footer-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.template-modelo-07 .m07-contato-footer-actions a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 13px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  font-size: .86rem;
  opacity: 1;
}

.template-modelo-07 .m07-contato-footer-bottom{
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  color: inherit;
  opacity: .66;
  font-size: .9rem;
  text-align: center;
}



/* ==================================================
   RESPONSIVO
================================================== */

@media(max-width:991px){
  main{
    padding-top: 82px;
  }

  .template-modelo-07 #hero .m07-hero-final{
    height: var(--m07-hero-height-mobile, 100vh) !important;
    min-height: var(--m07-hero-height-mobile, 100vh) !important;
  }

  .template-modelo-07 #hero .m07-hero-final-content{
    padding: 100px 20px 50px !important;
  }

  .template-modelo-07 #hero .m07-hero-final h1{
    font-size: clamp(2.2rem, 10vw, 3.8rem);
    color: #ffffff !important;
  }

  .template-modelo-07 .m07-sobre{
    padding: 64px 0;
  }

  .template-modelo-07 .m07-sobre-grid{
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .template-modelo-07 .m07-sobre-content{
    max-width: 100%;
  }

  .template-modelo-07 .m07-sobre-image img{
    height: 380px;
  }

  .template-modelo-07 .m07-servicos{
    padding: 42px 0 52px;
  }

  .template-modelo-07 .m07-servicos-head{
    margin-bottom: 26px;
    text-align: center;
  }

  .template-modelo-07 .m07-servicos-grid{
    grid-template-columns: 1fr;
  }

  .template-modelo-07 .m07-servico-card{
    min-height: auto;
  }

  .template-modelo-07 .m07-galeria{
    padding: 40px 0 54px;
  }

  .template-modelo-07 .m07-galeria-grid{
    grid-template-columns: 1fr;
  }

  .template-modelo-07 .m07-galeria-item,
  .template-modelo-07 .m07-galeria-item:nth-child(n){
    grid-column: auto;
    min-height: 280px;
  }

  .template-modelo-07 .m07-contato-footer{
    padding: 48px 0 26px;
  }

  .template-modelo-07 .m07-contato-footer-grid{
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }

  .m07-menu-toggle{
    display: inline-flex;
  }

  .m07-nav-collapse{
    display: none;
    position: absolute;
    top: 74px;
    left: 16px;
    right: 16px;
    background: var(--bg, #fff);
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 16px;
    padding: 16px;
  }

  .m07-nav-collapse.show{
    display: block;
  }

  .m07-menu{
    display: grid;
    gap: 10px;
  }

  .m07-nav-cta{
    display: flex;
    justify-content: center;
    margin-top: 12px;
  }
}

@media(max-width:575px){
  .template-modelo-07 .m07-sobre-image img{
    height: 300px;
  }

  .template-modelo-07 .m07-galeria-item,
  .template-modelo-07 .m07-galeria-item:nth-child(n){
    min-height: 230px;
  }

  .template-modelo-07 .m07-contato-footer-grid{
    grid-template-columns: 1fr;
  }

  .template-modelo-07 .m07-contato-footer-cta{
    width: 100%;
  }

  .template-modelo-07 .m07-contato-footer-bottom{
    text-align: left;
  }
}

.nav-glass .nav-link.active{
  background: color-mix(in srgb, var(--cor-primaria) 10%, transparent);
  border-radius: 999px;
}

/* ==================================================
   PÁGINAS EXTRAS — MODELO 07
================================================== */

.template-modelo-07 .m07-page-extra{
  padding:120px 0 80px;
  color:inherit;
}

.template-modelo-07 .m07-page-extra-content{
  max-width:980px;
  margin:0 auto;
}

.template-modelo-07 .m07-page-extra h1,
.template-modelo-07 .m07-page-extra h2{
  color:inherit;
  font-family:Outfit, Inter, sans-serif;
  line-height:1.05;
  letter-spacing:-.05em;
  font-weight:900;
}

.template-modelo-07 .m07-page-extra h1{
  font-size:clamp(2.4rem,5vw,4.8rem);
}

.template-modelo-07 .m07-page-extra h2{
  font-size:clamp(2rem,4vw,3.6rem);
}

.template-modelo-07 .m07-page-extra p{
  color:inherit;
  opacity:.84;
  font-size:1.06rem;
  line-height:1.78;
}

.template-modelo-07 .m07-page-extra a.btn,
.template-modelo-07 .m07-page-extra .btn{
  border-radius:999px;
  font-weight:900;
}

@media(max-width:991px){
  .template-modelo-07 .m07-page-extra{
    padding:100px 0 64px;
  }
}

/* ==================================================
   LEGACY HERO V2 — CONTRASTE ELEGANTE
   Colar no final do style.css do modelo 07/template 15
================================================== */

.template-modelo-07 #hero .m07-hero-v2{
  color:#fff !important;
}

.template-modelo-07 #hero .m07-hero-v2 .m07-hero-final-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(
      90deg,
      rgba(7,21,34,var(--m07-hero-overlay,.68)) 0%,
      rgba(7,21,34,calc(var(--m07-hero-overlay,.68) * .84)) 45%,
      rgba(7,21,34,calc(var(--m07-hero-overlay,.68) * .50)) 100%
    ) !important;
}

.template-modelo-07 #hero .m07-hero-sem-imagem .m07-hero-final-overlay{
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.10), transparent 34%),
    linear-gradient(135deg,var(--cor-primaria,#071522),var(--cor-secundaria,#0f172a)) !important;
}

.template-modelo-07 #hero .m07-hero-v2 .m07-hero-final-content{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  padding:120px 24px 70px !important;
}

.template-modelo-07 #hero .m07-hero-v2 .m07-hero-final-copy{
  max-width:860px;
  margin:0 auto;
}

.template-modelo-07 #hero .m07-hero-v2 h1{
  max-width:820px !important;
  margin:0 auto !important;
  color:#ffffff !important;
  font-family:var(--m07-title-font) !important;
  font-size:clamp(2rem,4vw,3.8rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.045em !important;
  font-weight:800 !important;
  text-shadow:
    0 5px 18px rgba(0,0,0,.35),
    0 14px 40px rgba(0,0,0,.30) !important;
}

.template-modelo-07 #hero .m07-hero-v2 p{
  max-width:720px !important;
  margin:24px auto 0 !important;
  color:rgba(255,255,255,.93) !important;
  opacity:1 !important;
  font-size:clamp(1.05rem,1.35vw,1.22rem) !important;
  line-height:1.72 !important;
  text-shadow:0 4px 18px rgba(0,0,0,.30) !important;
}

.template-modelo-07 #hero .m07-hero-v2 .m07-hero-final-cta{
  margin-top:34px !important;
  box-shadow:
    0 18px 45px rgba(0,0,0,.25),
    0 0 0 1px rgba(255,255,255,.10) inset !important;
}

@media(max-width:991px){
  .template-modelo-07 #hero .m07-hero-v2 .m07-hero-final-content{
    padding:105px 20px 58px !important;
  }

  .template-modelo-07 #hero .m07-hero-v2 h1{
    font-size:clamp(2rem,9vw,3.25rem) !important;
    line-height:1.05 !important;
  }

  .template-modelo-07 #hero .m07-hero-v2 .m07-hero-final-overlay{
    background:
      linear-gradient(
        180deg,
        rgba(7,21,34,.78) 0%,
        rgba(7,21,34,.68) 52%,
        rgba(7,21,34,.76) 100%
      ) !important;
  }
}

/* ==================================================
   LEGACY NAVBAR FINAL
   Topo: totalmente transparente, sem blur.
   Scroll: fundo escuro translúcido com blur.
================================================== */

.template-modelo-07 .nav-glass{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;

  background: transparent !important;
  background-color: transparent !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;

  transition:
    background-color .32s ease,
    backdrop-filter .32s ease,
    -webkit-backdrop-filter .32s ease,
    box-shadow .32s ease,
    border-color .32s ease !important;
}

.template-modelo-07 .nav-glass .navbar-brand,
.template-modelo-07 .nav-glass .nav-link{
  color: #ffffff !important;
}

.template-modelo-07 .nav-glass .nav-link{
  position: relative;
  font-weight: 700;
  transition: color .22s ease, opacity .22s ease !important;
}

.template-modelo-07 .nav-glass .nav-link:hover,
.template-modelo-07 .nav-glass .nav-link:focus{
  color: #e5e7eb !important;
}

.template-modelo-07 .nav-glass .nav-link::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: #ffffff;
  transform: translateX(-50%);
  transition: width .22s ease;
}

.template-modelo-07 .nav-glass .nav-link:hover::after,
.template-modelo-07 .nav-glass .nav-link:focus::after,
.template-modelo-07 .nav-glass .nav-link.active::after{
  width: 22px;
}

.template-modelo-07 .nav-glass .nav-link.active{
  color: #ffffff !important;
  background: rgba(255,255,255,.08) !important;
  border-radius: 999px;
}

.template-modelo-07 .nav-glass.nav-scrolled{
  background: rgba(7,21,34,.84) !important;
  background-color: rgba(7,21,34,.84) !important;

  backdrop-filter: blur(20px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(130%) !important;

  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.20) !important;
}

.template-modelo-07 .nav-glass.nav-scrolled .navbar-brand,
.template-modelo-07 .nav-glass.nav-scrolled .nav-link{
  color: #ffffff !important;
}

.template-modelo-07 .nav-glass.nav-scrolled .nav-link:hover,
.template-modelo-07 .nav-glass.nav-scrolled .nav-link:focus{
  color: #e5e7eb !important;
}

.template-modelo-07 .nav-glass.nav-scrolled .nav-link::after{
  background: #ffffff !important;
}

.template-modelo-07 .nav-glass .btn-prim{
  color: #ffffff !important;
}

@media (max-width: 991px){
  .template-modelo-07 .nav-glass .navbar-collapse{
    margin-top: 12px;
    padding: 18px;
    border-radius: 18px;

    background: rgba(7,21,34,.96) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;

    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 18px 50px rgba(0,0,0,.24);
  }

  .template-modelo-07 .nav-glass .navbar-collapse .nav-link{
    color: #ffffff !important;
  }

  .template-modelo-07 .nav-glass .navbar-collapse .nav-link:hover,
  .template-modelo-07 .nav-glass .navbar-collapse .nav-link:focus{
    color: #e5e7eb !important;
  }

  .template-modelo-07 .nav-glass .navbar-toggler{
    border-color: rgba(255,255,255,.35) !important;
  }

  .template-modelo-07 .nav-glass .navbar-toggler:focus{
    box-shadow: 0 0 0 .2rem rgba(255,255,255,.14) !important;
  }

  .template-modelo-07 .nav-glass .navbar-toggler-icon{
    filter: brightness(0) invert(1);
  }
}

/* ==================================================
   LEGACY HERO — PARALLAX + ZOOM CINEMATOGRÁFICO
   Desktop:
   - imagem move mais devagar durante o scroll;
   - zoom suave contínuo para dar sensação de movimento.
   Mobile/redução de movimento:
   - efeitos desativados para preservar desempenho.
================================================== */

.template-modelo-07 #hero .m07-hero-final-bg{
  transform: translate3d(0, var(--m07-parallax-y, 0px), 0) !important;
  transform-origin: center center;
  scale: 1.12;
  animation: m07HeroZoom 16s ease-out forwards;
  will-change: transform, scale;
  backface-visibility: hidden;
}

@keyframes m07HeroZoom{
  from{
    scale: 1.12;
  }
  to{
    scale: 1.24;
  }
}

@media (max-width: 991px), (prefers-reduced-motion: reduce){
  .template-modelo-07 #hero .m07-hero-final-bg{
    transform: none !important;
    scale: 1.08;
    animation: none !important;
    will-change: auto;
  }
}
