/* ==========================================================
   1. Variaveis e estilos globais
   ========================================================== */
:root{
  --navy:#071c3f;
  --navy-2:#0b3970;
  --blue:#0879b9;
  --cyan:#f5820b;
  --orange:#c94700;
  --orange-dark:#a93700;
  --ice:#f2f7fa;
  --white:#fff;
  --text:#242629;
  --muted:#62686d;
  --line:#d9e1e6;
  --green:#20b65a;
  --container:1180px;
  --radius:8px;
  --shadow:0 24px 60px rgba(7,28,63,.16)
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:88px
}
body{
  margin:0;
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  background:#fff;
  line-height:1.6;
  overflow-x:hidden
}
img{
  display:block;
  max-width:100%;
  object-fit:cover
}
a{
  color:inherit;
  text-decoration:none
}
button,input{
  font:inherit
}
.container{
  width:min(calc(100% - 40px),var(--container));
  margin-inline:auto
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0)
}
.skip-link{
  position:fixed;
  z-index:1000;
  left:12px;
  top:-60px;
  background:#fff;
  padding:12px 16px
}
.skip-link:focus{
  top:12px
}
.eyebrow{
  margin:0 0 14px;
  color:var(--blue);
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.14em
}
.section{
  padding:96px 0
}
.section h2{
  font:700 clamp(2rem,4vw,3.7rem)/1.08 'Manrope',sans-serif;
  letter-spacing:-.045em;
  margin:0
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 24px;
  background:var(--blue);
  color:#fff;
  font-weight:700;
  border:1px solid var(--blue);
  transition:.25s
}
.button:hover{
  background:#056aa5;
  transform:translateY(-2px)
}
.button-sm{
  min-height:44px;
  padding:0 18px;
  font-size:.9rem
}
.arrow-link{
  display:inline-block;
  color:var(--blue);
  font-weight:800;
  border-bottom:1px solid currentColor;
  padding-bottom:3px
}
.arrow-link:hover{
  color:var(--navy)
}
:focus-visible{
  outline:3px solid var(--cyan);
  outline-offset:4px
}
/* ==========================================================
   2. Cabecalho e navegacao
   ========================================================== */
.site-header{
  position:fixed;
  z-index:100;
  top:0;
  left:0;
  right:0;
  color:#fff;
  transition:.3s
}
.site-header.scrolled,.site-header.menu-open{
  background:rgba(6,39,69,.97);
  box-shadow:0 8px 30px rgba(0,0,0,.15)
}
.nav-wrap{
  height:82px;
  display:flex;
  align-items:center;
  gap:32px
}
.brand{
  display:flex;
  align-items:center;
  gap:11px;
  font:800 1.05rem/1.05 'Manrope',sans-serif;
  white-space:nowrap
}
.brand small{
  display:block;
  font-size:.63rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-top:4px;
  opacity:.76
}
.brand-mark{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border:2px solid var(--cyan);
  color:var(--cyan);
  font:800 1.15rem 'Manrope';
  transform:skew(-7deg)
}
.site-header nav{
  margin-left:auto;
  display:flex;
  gap:24px;
  font-size:.9rem
}
.site-header nav a{
  opacity:.86
}
.site-header nav a:hover{
  opacity:1;
  color:var(--cyan)
}
.menu-toggle{
  display:none;
  background:none;
  border:0;
  width:46px;
  height:46px;
  padding:10px
}
.menu-toggle span:not(.sr-only){
  display:block;
  height:2px;
  background:#fff;
  margin:6px 0
}
/* ==========================================================
   3. Hero
   ========================================================== */
.hero{
  position:relative;
  min-height:760px;
  display:flex;
  align-items:center;
  color:#fff;
  background:var(--navy)
}
.hero-photo,.hero-shade{
  position:absolute;
  inset:0
}
.hero-photo{
  background:url('../assets/images/hero-ar-condicionado-otimizado.jpg') center/cover no-repeat
}
.hero-shade{
  background:linear-gradient(90deg,rgba(3,24,43,.95) 0%,rgba(3,31,55,.82) 46%,rgba(3,24,43,.18) 78%),linear-gradient(0deg,rgba(3,24,43,.42),transparent 50%)
}
.hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,720px) 1fr;
  align-items:end;
  padding-top:135px;
  padding-bottom:86px
}
.hero h1{
  font:800 clamp(2.8rem,5.7vw,5.8rem)/.97 'Manrope',sans-serif;
  letter-spacing:-.058em;
  margin:0 0 24px
}
.hero-lead{
  font-size:1.18rem;
  max-width:620px;
  color:#d9edf6
}
.hero-actions{
  display:flex;
  align-items:center;
  gap:27px;
  margin:32px 0
}
.text-link{
  font-weight:700
}
.text-link span{
  color:var(--cyan)
}
.hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  margin:0;
  padding:0;
  list-style:none;
  font-size:.9rem;
  color:#d9edf6
}
.hero-proof li:before{
  content:'✓';
  color:var(--cyan);
  font-weight:800;
  margin-right:7px
}
.hero-stamp{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:13px;
  padding:17px;
  border-left:2px solid var(--cyan);
  background:rgba(6,39,69,.7);
  backdrop-filter:blur(8px)
}
.hero-stamp strong{
  font:800 2.8rem/1 'Manrope';
  color:var(--cyan)
}
.hero-stamp span{
  font-size:.75rem;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.08em
}
/* ==========================================================
   4. Faixa de confianca e servicos
   ========================================================== */
.trust-strip{
  background:#fff;
  border-bottom:1px solid var(--line)
}
.trust-strip .container{
  min-height:92px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center
}
.trust-strip span{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 24px;
  border-right:1px solid var(--line);
  font-weight:600
}
.trust-strip span:first-child{
  padding-left:0
}
.trust-strip span:last-child{
  border:0
}
.trust-strip b{
  color:var(--blue);
  font:800 1.2rem 'Manrope'
}
.section-head{
  display:grid;
  grid-template-columns:1.45fr .55fr;
  gap:90px;
  align-items:end;
  margin-bottom:55px
}
.section-head>p{
  color:var(--muted);
  margin:0 0 8px
}
.service-feature{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  min-height:510px;
  background:var(--ice)
}
.service-feature figure{
  margin:0;
  overflow:hidden
}
.service-feature img{
  width:100%;
  height:100%
}
.service-feature article{
  padding:60px;
  position:relative
}
.service-number{
  position:absolute;
  right:34px;
  top:25px;
  font:800 5rem/1 'Manrope';
  color:rgba(8,127,196,.09)
}
.services h3{
  font:700 clamp(1.7rem,3vw,2.6rem)/1.15 'Manrope';
  letter-spacing:-.035em;
  margin:0 0 20px
}
.services ul{
  padding:0;
  list-style:none;
  margin:24px 0
}
.services li{
  padding:11px 0;
  border-bottom:1px solid var(--line)
}
.service-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:24px
}
.service-block{
  min-height:570px;
  position:relative;
  overflow:hidden;
  color:#fff
}
.service-block:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(4,31,52,.96),rgba(4,31,52,.05) 70%)
}
.service-block img{
  position:absolute;
  width:100%;
  height:100%
}
.service-block>div{
  position:absolute;
  z-index:1;
  bottom:0;
  padding:42px
}
.service-block .eyebrow,.service-block .arrow-link{
  color:var(--cyan)
}
.service-block .service-number{
  color:rgba(255,255,255,.15)
}
/* ==========================================================
   5. Comparador antes e depois
   ========================================================== */
.comparison-section{
  background:var(--navy);
  color:#fff;
  overflow:hidden
}
.comparison-grid{
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:70px;
  align-items:center
}
.comparison-copy p:not(.eyebrow){
  color:#c8dae5;
  font-size:1.05rem
}
.comparison-copy small{
  display:block;
  margin-top:35px;
  color:#8aa3b4
}
.comparison{
  position:relative;
  margin:0;
  aspect-ratio:16/10;
  overflow:hidden;
  box-shadow:var(--shadow);
  user-select:none
}
.comparison img{
  width:100%;
  height:100%;
  object-position:center
}
.comparison-before{
  position:absolute;
  inset:0;
  filter:saturate(.55) brightness(.72)
}
.comparison-after{
  position:absolute;
  inset:0;
  clip-path:inset(0 0 0 var(--position));
}
.comparison-after img{
  filter:saturate(1.05) brightness(1.08)
}
.comparison input{
  position:absolute;
  z-index:5;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:ew-resize;
  margin:0
}
.divider{
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  left:var(--position);
  width:2px;
  background:#fff;
  transform:translateX(-1px);
  pointer-events:none
}
.divider span{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--navy);
  font-weight:800;
  box-shadow:0 4px 20px rgba(0,0,0,.25)
}
.compare-label{
  position:absolute;
  z-index:3;
  top:18px;
  padding:7px 10px;
  background:rgba(4,31,52,.78);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.12em
}
.before-label{
  left:18px
}
.after-label{
  right:18px
}
/* ==========================================================
   6. Diferenciais, avaliacoes e processo
   ========================================================== */
.why-list{
  border-top:1px solid var(--line)
}
.why-list article{
  display:grid;
  grid-template-columns:100px 1fr 1.2fr;
  gap:30px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid var(--line)
}
.why-list b{
  font:700 1.2rem 'Manrope';
  color:var(--blue)
}
.why-list h3{
  font:700 1.5rem 'Manrope';
  margin:0
}
.why-list p{
  color:var(--muted);
  margin:0
}
.review{
  background:var(--ice)
}
.review-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:60px;
  margin-bottom:44px
}
.review-head h2{
  max-width:680px
}
.rating-summary{
  display:flex;
  align-items:center;
  gap:16px;
  flex:0 0 auto
}
.rating-summary strong{
  color:var(--navy);
  font:800 3.8rem/.9 'Manrope',sans-serif;
  letter-spacing:-.07em
}
.stars{
  color:#f5a623;
  letter-spacing:.12em
}
.rating-summary small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.72rem
}
.reviews-viewport{
  overflow:hidden
}
.reviews-track{
  display:flex;
  transition:transform .45s ease
}
.review-card{
  flex:0 0 50%;
  margin:0;
  min-height:290px;
  padding:38px;
  background:#fff;
  border-right:12px solid var(--ice)
}
.review-card:nth-child(even){
  border-right:0;
  border-left:12px solid var(--ice)
}
.review-card p{
  margin:24px 0 30px;
  color:var(--navy);
  font:600 clamp(1.25rem,2vw,1.7rem)/1.42 'Manrope',sans-serif;
  letter-spacing:-.03em;
}
.review-card footer{
  display:flex;
  flex-direction:column;
  gap:3px;
  color:var(--text)
}
.review-card footer small{
  color:var(--muted)
}
.review-placeholder{
  background:#f8fafb
}
.review-placeholder footer strong{
  color:var(--muted)
}
.reviews-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:13px;
  margin-top:22px
}
.reviews-controls button{
  width:46px;
  height:46px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease
}
.reviews-controls button:hover{
  background:var(--navy);
  color:#fff
}
.reviews-status{
  min-width:54px;
  color:var(--muted);
  font-size:.82rem;
  text-align:center
}
.process h2{
  max-width:750px
}
.steps{
  margin-top:60px;
  border-top:1px solid var(--line)
}
.steps article{
  display:grid;
  grid-template-columns:145px 1fr;
  gap:35px;
  padding:34px 0;
  border-bottom:1px solid var(--line)
}
.steps b{
  font:800 3.5rem/1 'Manrope';
  color:#b8dbe9
}
.steps h3{
  font:700 1.4rem 'Manrope';
  margin:0
}
.steps p{
  margin:5px 0;
  color:var(--muted)
}
/* ==========================================================
   7. Sobre e area de atendimento
   ========================================================== */
.about{
  background:#f7fafb
}
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center
}
.about figure{
  margin:0;
  position:relative
}
.about figure:before{
  content:'';
  position:absolute;
  width:45%;
  height:35%;
  background:var(--cyan);
  left:-20px;
  top:-20px
}
.about figure img{
  position:relative;
  height:590px;
  width:100%
}
.about figcaption{
  position:absolute;
  right:-20px;
  bottom:30px;
  background:var(--navy);
  color:#fff;
  padding:14px 20px;
  font-size:.8rem
}
.about h2{
  margin-bottom:28px
}
.about p:not(.eyebrow){
  color:var(--muted)
}
.about .arrow-link{
  margin-top:18px
}
.area{
  background:var(--navy);
  color:#fff
}
.area-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center
}
.area p:not(.eyebrow){
  color:#c7dbe7
}
.area .button{
  margin-top:18px
}
.map-art{
  height:420px;
  position:relative;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  background:radial-gradient(circle at center,rgba(89,216,239,.12),transparent 60%)
}
.map-ring{
  position:absolute;
  border:1px solid rgba(89,216,239,.25);
  border-radius:50%;
  width:250px;
  height:250px
}
.map-ring.r2{
  width:390px;
  height:390px
}
.map-art i{
  width:18px;
  height:18px;
  border:5px solid var(--cyan);
  border-radius:50%;
  box-shadow:0 0 0 10px rgba(89,216,239,.15)
}
.map-art ul{
  position:absolute;
  inset:0;
  list-style:none;
  margin:0;
  padding:0
}
.map-art li{
  position:absolute;
  padding:6px 10px;
  background:var(--navy-2);
  font-size:.82rem
}
.map-art li:nth-child(1){
  left:12%;
  top:20%
}
.map-art li:nth-child(2){
  right:10%;
  top:28%
}
.map-art li:nth-child(3){
  left:18%;
  bottom:20%
}
.map-art li:nth-child(4){
  right:8%;
  bottom:15%
}
/* ==========================================================
   8. CTA final e rodape
   ========================================================== */
.final-cta{
  padding:110px 0;
  background:linear-gradient(105deg,#087fc4,#075e93);
  color:#fff;
  text-align:center;
  position:relative;
  overflow:hidden
}
.final-cta:after{
  content:'';
  position:absolute;
  width:600px;
  height:200px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  right:-200px;
  top:-100px;
  transform:rotate(-12deg)
}
.final-cta .eyebrow{
  color:var(--cyan)
}
.final-cta h2{
  font:800 clamp(2.4rem,5vw,4.8rem)/1 'Manrope';
  letter-spacing:-.05em;
  margin:0
}
.final-cta p{
  font-size:1.1rem
}
.button-light{
  background:#fff;
  color:var(--navy);
  border-color:#fff;
  margin-top:15px
}
.phone{
  display:block;
  margin-top:18px;
  font-weight:800
}
.site-footer{
  padding:70px 0 20px;
  background:#041d33;
  color:#b8ccd9
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1.2fr .7fr;
  gap:50px
}
.footer-brand{
  color:#fff
}
.site-footer h2{
  color:#fff;
  font:700 .78rem 'Manrope';
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:0 0 20px
}
.site-footer a,.site-footer span,.site-footer address{
  display:block;
  margin:8px 0;
  font-style:normal
}
.copyright{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:50px;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  font-size:.78rem
}
.copyright span{
  margin:0
}
.floating-wa{
  position:fixed;
  z-index:80;
  right:24px;
  bottom:24px;
  display:flex;
  align-items:center;
  gap:9px;
  background:var(--green);
  color:#fff;
  padding:13px 18px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
  font-size:.9rem
}
.floating-wa span{
  font-size:1.3rem
}
/* ==========================================================
   9. Animacoes e responsividade base
   ========================================================== */
.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s ease,transform .7s ease
}
.reveal.visible{
  opacity:1;
  transform:none
}
@media(max-width:900px){
  .site-header nav{
    position:absolute;
    top:82px;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    gap:0;
    background:var(--navy);
    padding:10px 20px 24px
  }
  .site-header nav.open{
    display:flex
  }
  .site-header nav a{
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.1)
  }
  .menu-toggle{
    display:block;
    margin-left:auto
  }
  .header-cta{
    display:none
  }
  .hero{
    min-height:700px
  }
  .hero-grid{
    grid-template-columns:1fr
  }
  .hero-stamp{
    display:none
  }
  .trust-strip .container{
    grid-template-columns:1fr 1fr
  }
  .trust-strip span{
    border-bottom:1px solid var(--line)
  }
  .section-head,.comparison-grid,.about-grid,.area-grid{
    grid-template-columns:1fr;
    gap:45px
  }
  .service-feature{
    grid-template-columns:1fr
  }
  .service-feature figure{
    height:380px
  }
  .service-split{
    grid-template-columns:1fr
  }
  .review-head{
    align-items:flex-start;
    flex-direction:column;
    gap:28px
  }
  .footer-grid{
    grid-template-columns:1fr 1fr
  }
}
@media(max-width:600px){
  .container{
    width:min(calc(100% - 32px),var(--container))
  }
  .section{
    padding:68px 0
  }
  .nav-wrap{
    height:72px
  }
  .site-header nav{
    top:72px
  }
  .brand-mark{
    width:40px;
    height:40px
  }
  .hero{
    min-height:670px;
    align-items:flex-end
  }
  .hero-photo{
    background-position:62% center
  }
  .hero-shade{
    background:linear-gradient(0deg,rgba(3,24,43,.98) 3%,rgba(3,24,43,.84) 62%,rgba(3,24,43,.38))
  }
  .hero-grid{
    padding-top:105px;
    padding-bottom:55px
  }
  .hero h1{
    font-size:2.55rem
  }
  .hero-lead{
    font-size:1rem
  }
  .hero-actions{
    align-items:stretch;
    flex-direction:column;
    gap:17px;
    margin:24px 0
  }
  .text-link{
    text-align:center
  }
  .hero-proof{
    gap:7px 18px;
    font-size:.78rem
  }
  .trust-strip span{
    min-height:66px;
    padding:10px 15px;
    font-size:.78rem
  }
  .trust-strip span:first-child{
    padding-left:15px
  }
  .trust-strip span:nth-child(2){
    border-right:0
  }
  .section-head{
    gap:20px;
    margin-bottom:35px
  }
  .service-feature figure{
    height:270px
  }
  .service-feature article{
    padding:34px 24px
  }
  .service-number{
    font-size:3.5rem
  }
  .service-block{
    min-height:470px
  }
  .service-block>div{
    padding:30px 24px
  }
  .comparison-grid{
    gap:30px
  }
  .comparison{
    aspect-ratio:4/3
  }
  .comparison-copy small{
    margin-top:20px
  }
  .why-list article{
    grid-template-columns:48px 1fr;
    gap:8px 15px
  }
  .why-list p{
    grid-column:2
  }
  .rating-summary{
    gap:12px
  }
  .rating-summary strong{
    font-size:3rem
  }
  .review-card{
    flex-basis:100%;
    min-height:300px;
    padding:28px 24px;
    border:0
  }
  .review-card:nth-child(even){
    border:0
  }
  .reviews-controls{
    justify-content:center
  }
  .steps article{
    grid-template-columns:68px 1fr;
    gap:14px
  }
  .steps b{
    font-size:2.5rem
  }
  .about figure img{
    height:420px
  }
  .about figcaption{
    right:-8px;
    bottom:18px
  }
  .map-art{
    height:350px
  }
  .final-cta{
    padding:80px 0
  }
  .footer-grid{
    grid-template-columns:1fr;
    gap:32px
  }
  .copyright{
    display:block;
    padding-bottom:75px
  }
  .floating-wa{
    left:12px;
    right:12px;
    bottom:10px;
    justify-content:center;
    min-height:52px
  }
  .floating-wa b{
    display:inline
  }
}
/* ==========================================================
   10. Identidade visual e componentes adicionados depois

   Este bloco complementa os estilos-base acima. As regras que
   se repetem aqui sao sobrescritas de proposito para preservar
   a aparencia aprovada da pagina.
   ========================================================== */
.brand-logo{
  width:104px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))
}
.footer-logo{
  width:148px;
  height:auto
}
.button{
  background:var(--orange);
  border-color:var(--orange)
}
.button:hover{
  background:var(--orange-dark)
}
.site-header.scrolled,.site-header.menu-open{
  background:rgba(7,28,63,.97)
}
.hero-shade{
  background:linear-gradient(90deg,rgba(7,28,63,.96) 0%,rgba(7,28,63,.84) 46%,rgba(7,28,63,.2) 78%),linear-gradient(0deg,rgba(7,28,63,.45),transparent 50%)
}
.service-number{
  color:rgba(242,104,10,.11)
}
.final-cta{
  background:linear-gradient(105deg,var(--orange),var(--orange-dark))
}
.button-light{
  background:#fff;
  color:var(--navy);
  border-color:#fff
}
.footer-grid{
  align-items:start
}
.copyright{
  align-items:center;
  gap:24px;
  line-height:1.5
}
.copyright>span{
  display:inline;
  margin:0
}
.copyright #year{
  display:inline;
  margin:0
}
.copyright a{
  display:inline;
  margin:0 0 0 4px;
  color:#fff;
  font-weight:700;
  border-bottom:1px solid var(--cyan)
}
.copyright a:hover{
  color:var(--cyan)
}
.google-review-logo{
  width:36px;
  height:36px;
  margin:9px 0 5px;
  object-fit:contain
}
/* Video do profissional */
.professional-section{
  background:var(--ice)
}
.professional-intro{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:80px;
  align-items:end;
  margin-bottom:48px
}
.professional-intro h2{
  max-width:720px
}
.professional-summary{
  padding-left:28px;
  border-left:2px solid var(--orange)
}
.professional-summary p{
  margin:0 0 24px;
  color:var(--muted)
}
.instagram-button{
  gap:10px
}
.instagram-button span{
  font-size:1.1rem
}
.reels-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.reel-card{
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  transition:transform .25s ease,box-shadow .25s ease
}
.reel-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 45px rgba(7,28,63,.12)
}
.reel-card[hidden]{
  display:none
}
.instagram-embed-wrap{
  position:relative;
  width:100%;
  aspect-ratio:380/675;
  overflow:hidden;
  background:linear-gradient(145deg,var(--navy),var(--navy-2))
}
.instagram-reel{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
  pointer-events:auto
}
.reel-card-copy{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:70px;
  padding:14px 16px
}
.reel-card-copy span{
  color:var(--orange);
  font:800 .75rem 'Manrope',sans-serif;
  letter-spacing:.08em
}
.reel-card-copy p{
  margin:0;
  color:var(--navy);
  font-weight:700;
  line-height:1.3
}
.professional-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--line)
}
.professional-footer p{
  margin:0;
  color:var(--muted)
}
.professional-footer a{
  color:var(--orange);
  font-weight:800;
  border-bottom:1px solid currentColor
}
/* Marcas atendidas */
.brands-marquee-section{
  padding:30px 0 18px;
  background:#fff;
  border-bottom:1px solid var(--line);
  overflow:hidden
}
.brands-marquee-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:35px;
  margin-bottom:24px
}
.brands-marquee-head .eyebrow{
  margin-bottom:3px;
  color:var(--navy)
}
.brands-marquee-head span{
  color:var(--muted);
  font-size:.82rem
}
.brands-marquee-head strong{
  color:var(--orange);
  font-size:.82rem;
  text-align:right
}
.brands-marquee{
  display:flex;
  width:max-content;
  min-width:100%;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)
}
.brands-track{
  display:flex;
  flex-shrink:0;
  align-items:center;
  margin:0;
  padding:0;
  list-style:none;
  animation:brands-scroll 34s linear infinite;
  will-change:transform
}
.brands-marquee:hover .brands-track{
  animation-play-state:paused
}
.brands-track li{
  width:190px;
  height:62px;
  display:grid;
  place-items:center;
  padding:8px 28px;
  border-right:1px solid var(--line)
}
.brands-track img{
  width:auto;
  max-width:132px;
  height:34px;
  object-fit:contain;
  filter:grayscale(1) sepia(.2) hue-rotate(170deg) saturate(2);
  opacity:.68;
  transition:filter .25s ease,opacity .25s ease,transform .25s ease
}
.brand-wordmark{
  color:var(--navy);
  font:700 1.12rem 'Manrope',sans-serif;
  white-space:nowrap;
  opacity:.68;
  transition:opacity .25s ease,transform .25s ease
}
.brands-track li:hover img{
  filter:none;
  opacity:1;
  transform:scale(1.035)
}
.brands-track li:hover .brand-wordmark{
  opacity:1;
  transform:scale(1.035)
}
.brands-disclaimer{
  margin-top:14px;
  margin-bottom:0;
  color:var(--muted);
  font-size:.68rem;
  text-align:center
}
@keyframes brands-scroll{
  to{
    transform:translateX(-100%)
  }
}
.brands-section{
  padding-bottom:70px;
  background:#fff
}
.brands-intro{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:end
}
.brands-intro>div:last-child>p{
  margin:0 0 18px;
  color:var(--muted)
}
.brands-intro small{
  display:block;
  padding-left:16px;
  border-left:2px solid var(--cyan);
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55
}
.brand-list{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin:55px 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}
.brand-list li{
  min-height:94px;
  display:grid;
  place-items:center;
  padding:12px 18px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  transition:background-color .25s ease
}
.brand-list img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:58px;
  object-fit:contain;
  transition:transform .25s ease
}
.brand-list li:hover{
  background:var(--ice)
}
.brand-list li:hover img{
  transform:scale(1.04)
}
/* Tecnologia Inverter */
.inverter-section{
  padding-top:70px;
  background:var(--ice)
}
.inverter-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:90px;
  align-items:center
}
.inverter-mark{
  min-height:390px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:40px;
  position:relative;
  overflow:hidden;
  background:var(--navy);
  color:#fff
}
.inverter-mark:before,.inverter-mark:after{
  content:'';
  position:absolute;
  border:1px solid rgba(245,130,11,.35);
  border-radius:50%;
  width:360px;
  height:150px;
  right:-125px;
  top:35px;
  transform:rotate(-18deg)
}
.inverter-mark:after{
  width:470px;
  height:210px;
  right:-185px;
  top:5px
}
.inverter-mark span{
  position:absolute;
  top:32px;
  left:32px;
  color:rgba(255,255,255,.08);
  font:800 clamp(3rem,6vw,6rem)/1 'Manrope',sans-serif;
  letter-spacing:-.06em;
  writing-mode:vertical-rl
}
.inverter-mark b{
  position:relative;
  max-width:340px;
  font:700 clamp(1.7rem,3vw,2.6rem)/1.15 'Manrope',sans-serif
}
.inverter-copy h2{
  margin-bottom:26px
}
.inverter-copy>p:not(.eyebrow){
  color:var(--muted)
}
.inverter-copy .arrow-link{
  margin-top:18px
}
/* Carrossel principal */
.hero-carousel{
  display:block;
  position:relative;
  overflow:hidden
}
.hero-slides,.hero-slide,.hero-slide-photo{
  position:absolute;
  inset:0
}
.hero-slide{
  opacity:0;
  visibility:hidden;
  transition:opacity .7s ease,visibility .7s ease
}
.hero-slide.active{
  opacity:1;
  visibility:visible;
  z-index:1
}
.hero-slide-photo{
  background-position:center;
  background-size:cover;
  transform:scale(1.025);
  transition:transform 6s ease
}
.hero-slide.active .hero-slide-photo{
  transform:scale(1)
}
.slide-climatizacao{
  background-image:url('../assets/images/hero-ar-condicionado-otimizado.jpg')
}
.slide-manutencao{
  background-image:url('../assets/images/hero-manutencao-climatizacao-otimizado.jpg');
  background-position:center 38%
}
.slide-eletrica{
  background-image:url('../assets/images/hero-servicos-eletricos-otimizado.jpg');
  background-position:center
}
.hero-carousel .hero-grid{
  min-height:760px;
  z-index:2
}
.hero-carousel .hero-stamp{
  transform:translateY(-72px)
}
.hero-carousel .hero-copy{
  animation:hero-copy-in .65s ease both
}
.hero-carousel .hero-slide:not(.active) .hero-copy{
  animation:none
}
.hero-carousel h2{
  font:800 clamp(2.8rem,5.7vw,5.8rem)/.97 'Manrope',sans-serif;
  letter-spacing:-.058em;
  margin:0 0 24px;
  max-width:820px
}
.hero-controls{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  pointer-events:none
}
.hero-controls button{
  pointer-events:auto;
  cursor:pointer;
  color:#fff;
  background:rgba(7,28,63,.72);
  border:1px solid rgba(255,255,255,.35)
}
.hero-arrow{
  width:42px;
  height:42px;
  border-radius:50%
}
.hero-dots{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  background:rgba(7,28,63,.62);
  border-radius:20px
}
.hero-dots button{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.48);
  transition:width .25s ease,background .25s ease
}
.hero-dots button.active{
  width:25px;
  border-radius:8px;
  background:var(--cyan)
}
@keyframes hero-copy-in{
  from{
    opacity:0;
    transform:translateY(22px)
  }
  to{
    opacity:1;
    transform:none
  }
}
@media(max-width:900px){
  .brands-intro,.inverter-grid,.professional-intro{
    grid-template-columns:1fr;
    gap:38px
  }
  .reels-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .brand-list{
    grid-template-columns:repeat(2,1fr)
  }
  .inverter-mark{
    min-height:320px
  }
  .hero-carousel .hero-grid{
    min-height:700px
  }
}
/* Botao flutuante do WhatsApp */
.floating-wa{
  left:auto;
  right:24px;
  bottom:24px;
  width:60px;
  height:60px;
  min-height:0;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
  transition:transform .25s ease,background-color .25s ease
}
.floating-wa:hover,.floating-wa:focus-visible{
  background:#169c4b;
  transform:translateY(-3px)
}
.floating-wa svg{
  width:31px;
  height:31px;
  fill:currentColor
}
.floating-wa b{
  position:absolute;
  right:calc(100% + 12px);
  top:50%;
  display:block;
  width:max-content;
  padding:9px 13px;
  border-radius:5px;
  background:var(--navy);
  color:#fff;
  font-size:.82rem;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
  opacity:0;
  visibility:hidden;
  transform:translate(8px,-50%);
  transition:opacity .2s ease,transform .2s ease,visibility .2s
}
.floating-wa b:after{
  content:'';
  position:absolute;
  left:100%;
  top:50%;
  border:6px solid transparent;
  border-left-color:var(--navy);
  transform:translateY(-50%)
}
.floating-wa:hover b,.floating-wa:focus-visible b{
  opacity:1;
  visibility:visible;
  transform:translate(0,-50%)
}
@media(max-width:600px){
  .brand-logo{
    width:90px;
    height:auto
  }
  .footer-logo{
    width:132px;
    height:auto
  }
  .copyright{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    padding-bottom:75px
  }
  .brands-marquee-section{
    padding-top:23px
  }
  .brands-marquee-head{
    display:block;
    margin-bottom:17px
  }
  .brands-marquee-head strong{
    display:block;
    margin-top:8px;
    text-align:left
  }
  .brands-track{
    animation-duration:27s
  }
  .brands-track li{
    width:145px;
    height:52px;
    padding:7px 20px
  }
  .brands-track img{
    max-width:105px;
    height:28px
  }
  .brand-wordmark{
    font-size:.95rem
  }
  .brands-disclaimer{
    text-align:left
  }
  .brands-section{
    padding-bottom:52px
  }
  .brands-intro{
    gap:24px
  }
  .brand-list{
    margin-top:36px
  }
  .brand-list li{
    min-height:72px;
    padding:10px 12px
  }
  .brand-list img{
    max-height:46px
  }
  .inverter-section{
    padding-top:52px
  }
  .inverter-mark{
    min-height:260px;
    padding:28px
  }
  .inverter-mark span{
    top:22px;
    left:22px
  }
  .professional-intro{
    gap:24px;
    margin-bottom:32px
  }
  .professional-summary{
    padding:20px 0 0;
    border-left:0;
    border-top:2px solid var(--orange)
  }
  .reels-grid{
    display:flex;
    gap:14px;
    margin-right:-16px;
    padding-right:16px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin
  }
  .reel-card{
    flex:0 0 min(82vw,320px);
    scroll-snap-align:start
  }
  .professional-footer{
    align-items:flex-start;
    flex-direction:column;
    gap:10px
  }
  .hero-carousel .hero-grid{
    min-height:670px
  }
  .hero-carousel h2{
    font-size:2.55rem
  }
  .hero-carousel .hero-shade{
    background:linear-gradient(0deg,rgba(7,28,63,.98) 3%,rgba(7,28,63,.86) 65%,rgba(7,28,63,.4))
  }
  .slide-climatizacao{
    background-position:62% center
  }
  .slide-manutencao{
    background-position:center 30%
  }
  .slide-eletrica{
    background-position:58% center
  }
  .hero-controls{
    bottom:10px;
    justify-content:center
  }
  .hero-arrow{
    width:38px;
    height:38px
  }
  .floating-wa{
    left:auto;
    right:16px;
    bottom:16px;
    width:56px;
    height:56px;
    min-height:0
  }
  .floating-wa b{
    display:none
  }
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*:before,*:after{
    animation:none!important;
    transition:none!important
  }
  .reveal{
    opacity:1;
    transform:none
  }
  .brands-marquee{
    width:100%;
    mask-image:none;
    -webkit-mask-image:none
  }
  .brands-track{
    width:100%;
    display:grid;
    grid-template-columns:repeat(5,1fr)
  }
  .brands-track[aria-hidden="true"]{
    display:none
  }
  .brands-track li{
    width:auto
  }
}
