
    @import url('https://fonts.googleapis.com/css2?family=Exo:wght@200;300;400;500;600&display=swap');
    :root {
      --bg-1:#040404; --bg-2:#121212; --bg-3:#070707; --bg-4:#151515; --bg-5:#090909;
      --text:#f5f5f7; --muted:#a9a9b2; --line:#ffffff; --line-soft:rgba(255,255,255,.20); --clients-line:rgba(255,255,255,.32);
      --accent:#f4ad14; --gallery-dot:#ffffff; --gallery-dot-inactive:rgba(255,255,255,.35);
      --max:1280px; --menu-height:78px; --fixed-footer-height:64px;
    }
    .theme-novembro-azul { --accent:#1e6fff; --gallery-dot:#ffffff; --gallery-dot-inactive:rgba(255,255,255,.35); --line:#ffffff; --line-soft:rgba(30,111,255,.28); }

    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg-1);color:var(--text);overflow-x:hidden;padding-top:var(--menu-height);padding-bottom:calc(var(--fixed-footer-height) + 20px)}
    a{color:inherit;text-decoration:none} img{max-width:100%;display:block} input,textarea,button,select{font:inherit}.container{width:min(100% - 32px,var(--max));margin:0 auto}h1,h2,h3{font-family:'Exo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:200;letter-spacing:-.04em}

    .topbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(4,4,4,.62);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.05)}.nav{min-height:var(--menu-height);display:flex;align-items:center;justify-content:space-between;gap:18px}.brand img{width:118px;height:auto;filter:drop-shadow(0 8px 18px rgba(244,173,20,.14))}.menu-area{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.menu{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap}.menu a{color:#d4d4d8;font-size:.96rem;transition:.22s ease;position:relative}.menu a:hover,.menu a.active{color:#fff}.menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:#fff}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;border:0;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.18)}.btn-contact{padding:8px 14px;min-height:38px;color:#000!important}

    .hero-cover{position:relative;height:calc(100vh - var(--menu-height));min-height:760px;overflow:hidden;background-image:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.68)),url('images/MainSplash.jpg');background-size:cover,cover;background-repeat:no-repeat,no-repeat;background-position:center center,center center}.hero-cover::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 20%,rgba(244,173,20,.12),transparent 18%),radial-gradient(circle at 80% 28%,rgba(255,255,255,.08),transparent 20%);mix-blend-mode:screen}.cover-inner{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding-bottom:0}.cover-text{max-width:760px}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.04);color:#ddd;font-size:.84rem;letter-spacing:.08em;text-transform:none;margin-bottom:18px}h1{margin:0;font-size:clamp(1.9rem,4.8vw,4.2rem);line-height:.95;max-width:11ch;color:#fff;text-transform:none}.hero-cover p{margin:22px 0 0;color:#d2d2d8;font-size:clamp(1rem,2vw,1.08rem);max-width:58ch;line-height:1.8}.scroll-indicator{margin-top:28px;color:#b7b7be;font-size:.9rem;letter-spacing:.08em;text-transform:none}

    .content-start{background:var(--bg-1)}section{padding:110px 0;border-top:1px solid var(--line);will-change:transform}.section-1{background:#040404}.section-2{background:#121212}.section-3{background:#070707}.section-4{background:#151515}.section-5{background:#090909}.section-clients{background:#000}.section-head{max-width:900px;margin-bottom:40px}.section-head h2{margin:0 0 14px;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.96;color:#fff;text-transform:none}.section-head p{margin:0;color:var(--muted);font-size:1.04rem;line-height:1.85}.about-only{max-width:none;width:100%}.about-section{min-height:460px;background:linear-gradient(90deg,rgba(4,4,4,.92),rgba(4,4,4,.68)),url('images/SobreLoox.jpg') center center/cover no-repeat}.about-section .container{min-height:260px;display:flex;align-items:center}.about-section .section-head p{max-width:100%}
    .about-text{display:grid;gap:16px;color:var(--muted);font-size:1.04rem;line-height:1.85}
    .about-text p{margin:0}
    .about-benefits{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:12px;color:#ddd;line-height:1.65}
    .about-benefits li{position:relative;padding-left:20px}
    .about-benefits li::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;position:absolute;left:0;top:10px}

    .services-list{display:grid;gap:0}.service{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;padding:54px 0;border-top:1px solid var(--line)}.service:first-child{border-top:none}.service:nth-child(even) .service-gallery{order:2}.service:nth-child(even) .service-copy{order:1}
.gallery-caption{
  grid-column:1;
  text-align:center;
  color:#dcdce2;
  font-size:.92rem;
  line-height:1.45;
  padding:2px 18px 0;
  margin-top:-22px;
  max-width:100%;
}
.gallery-caption.empty{display:none}
.service:nth-child(even) .gallery-caption{
  grid-column:1;
  text-align:center;
  color:#dcdce2;
  font-size:.92rem;
  line-height:1.45;
  padding:2px 18px 0;
  margin-top:-22px;
  max-width:100%;
}
.service .service-copy{grid-column:2;grid-row:1 / span 2}
.service:nth-child(even) .service-copy{grid-column:1;grid-row:1 / span 2}
.service:nth-child(even) .service-gallery{grid-column:2;grid-row:1}
.service .service-gallery{grid-column:1;grid-row:1}
/* =========================
       ARREDONDAMENTO DOS PLAYERS
       Para remover depois, coloque 0px nas variáveis abaixo.
    ========================== */
    :root { --player-radius: 0px; }

    
.service-gallery{min-height:440px;position:relative;overflow:hidden;border:1px solid var(--line-soft);background:#000;border-radius:var(--player-radius)}.gallery-track{position:relative;width:100%;height:100%;min-height:440px}.gallery-slide{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transform:scale(1.04);transition:opacity .65s ease,transform .95s ease}.gallery-slide.active{opacity:1;transform:scale(1)}
    .video-slide video{width:100%;height:100%;object-fit:cover;display:block}.gallery-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22))}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#fff;font-size:2.3rem;line-height:1;cursor:pointer;z-index:3;padding:8px;transition:opacity .2s ease,transform .2s ease;text-shadow:0 2px 10px rgba(0,0,0,.65)}.gallery-arrow:hover{opacity:.8;transform:translateY(-50%) scale(1.06)}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px;z-index:3}.gallery-dot{width:10px;height:10px;border-radius:50%;border:0;background:var(--gallery-dot-inactive);cursor:pointer;padding:0;transition:transform .2s ease,background .2s ease}.gallery-dot.active{background:var(--gallery-dot);transform:scale(1.12)}.service-copy h3{margin:0 0 14px;font-size:clamp(2.2rem,4vw,4.4rem);line-height:.95;color:#fff;text-transform:none}.service-copy p{margin:0 0 18px;color:var(--muted);line-height:1.9;font-size:1.03rem}.service-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.service-copy li{position:relative;padding-left:18px;color:#ddd;line-height:1.7}.service-copy li::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;position:absolute;left:0;top:11px;box-shadow:0 0 18px rgba(255,255,255,.28)}

    .portfolio-viewer{padding-top:34px}.portfolio-stage{width:100%}.portfolio-media-wrap{position:relative;width:100%;min-height:620px;border:1px solid var(--line-soft);background:#000;overflow:hidden;border-radius:var(--player-radius)}.portfolio-image{position:absolute;inset:0;width:100%;min-height:620px;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .35s ease}.portfolio-video{position:absolute;inset:0;width:100%;height:100%;display:none}.portfolio-video iframe{width:100%;height:100%;border:0;display:block}.portfolio-video::after{content:"Arraste para explorar • Vídeo 360°";position:absolute;bottom:16px;left:16px;z-index:2;font-size:12px;color:#fff;opacity:.75;pointer-events:none}.portfolio-copy{
  padding-top:20px;
  width:100%;
  max-width:100%;
  padding-right:0;
}.portfolio-copy h3{
  margin:0 0 10px;
  font-size:clamp(1.55rem,3.5vw,2.75rem);
  line-height:1.05;
  transition:opacity .35s ease;
}.portfolio-copy p{
  margin:0;
  color:var(--muted);
  line-height:1.85;
  width:100%;
  max-width:100%;
  transition:opacity .35s ease;
}.portfolio-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(0,0,0,.18);color:#fff;font-size:2.8rem;cursor:pointer;padding:12px 16px;text-shadow:0 2px 10px rgba(0,0,0,.65);z-index:4}.portfolio-prev{left:12px}.portfolio-next{right:12px}

    .clients-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--clients-line);border-left:1px solid var(--clients-line)}.logo-card{min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;border-right:1px solid var(--clients-line);border-bottom:1px solid var(--clients-line);position:relative;background:transparent;transition:background .2s ease,transform .2s ease}.logo-card:hover{background:rgba(255,255,255,.02);transform:translateY(-1px)}.logo-card img{width:auto;height:auto;max-width:none;max-height:none;object-fit:contain;display:block;margin:0 auto;opacity:.82;transition:opacity .2s ease,transform .2s ease}.logo-card:hover img{opacity:1;transform:scale(1.02)}

    .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:start;border-top:1px solid var(--line);padding-top:38px}.contact-info h3,.contact-form h3{margin:0 0 18px;font-size:clamp(1.8rem,4vw,3rem);line-height:1;color:#fff;text-transform:none}.contact-info p{margin:0 0 14px;color:#fff;line-height:1.8}.contact-list{display:grid;gap:12px;margin-top:24px}.contact-item{padding:0 0 14px;border-bottom:1px solid rgba(255,255,255,.16)}.contact-item strong{display:block;margin-bottom:6px;color:#fff;font-weight:600;font-size:.92rem;letter-spacing:.02em;text-transform:none}.contact-item span,.contact-item a{color:#fff;line-height:1.7}.contact-form form{display:grid;gap:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;margin-bottom:8px;font-size:.9rem;color:#fff}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(255,255,255,.12);background:#040404;color:#fff;padding:14px 16px;outline:none;transition:.2s ease}.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(255,255,255,.36);box-shadow:0 0 0 3px rgba(255,255,255,.08)}.field textarea{min-height:180px;resize:vertical}.contact-note{color:#fff;font-size:.92rem;line-height:1.7}.form-feedback{display:none;padding:12px 14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:#fff}.form-feedback.visible{display:block}.form-feedback.success{border-color:rgba(255,255,255,.45);color:#fff}.form-feedback.error{border-color:rgba(255,90,90,.45)}

    .site-footer{color:#d8d8dd;font-size:.95rem;border-top:1px solid var(--line);background:rgba(5,5,5,.96);backdrop-filter:blur(14px)}.fixed-footer{position:fixed;left:0;right:0;bottom:0;z-index:998;min-height:var(--fixed-footer-height);display:flex;align-items:center}.fixed-footer>.container{width:min(100% - 32px,var(--max));margin:0 auto}.footer-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;width:100%;padding:10px 0}.footer-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.footer-language-switcher select{background:#000;color:#fff;border:1px solid rgba(255,255,255,.28);padding:8px 38px 8px 14px;min-height:40px;outline:none;border-radius:999px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 18px) 17px,calc(100% - 13px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.footer-language-switcher select:hover{border-color:rgba(255,255,255,.5)}.whatsapp-float{position:fixed;left:50%;transform:translateX(-50%);bottom:10px;width:44px;height:44px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(0,0,0,.35);z-index:1001;transition:transform .25s ease}.whatsapp-float:hover{transform:translateX(-50%) translateY(-3px) scale(1.03)}.whatsapp-float svg{width:24px;height:24px;fill:currentColor}
    .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease;will-change:opacity,transform}.reveal.visible{opacity:1;transform:translateY(0)}

    @media(max-width:1100px){.intro-grid,.service,.service:nth-child(even),.contact-grid{grid-template-columns:1fr}.service:nth-child(even) .service-gallery,.service:nth-child(even) .service-copy{order:initial}.clients-grid{grid-template-columns:repeat(4,1fr)}.portfolio-media-wrap,.portfolio-image{min-height:520px}}
    @media(max-width:760px){body{padding-top:var(--menu-height);padding-bottom:88px}.nav{flex-direction:column;align-items:flex-start;padding:14px 0}.menu-area{width:100%;align-items:flex-start;flex-direction:column}.menu{width:100%;justify-content:flex-start;gap:14px;overflow-x:auto;padding-bottom:2px}.brand img{width:100px}.hero-cover{min-height:620px;height:calc(100vh - var(--menu-height))}.cover-inner{padding-bottom:0}section{padding:84px 0}.service{padding:40px 0;gap:26px}.service-gallery,.gallery-track,.intro-visual{min-height:320px}.clients-grid{grid-template-columns:repeat(2,1fr)}.logo-card{min-height:110px}.logo-card img{max-width:100%;max-height:70px}.field-grid{grid-template-columns:1fr}.gallery-arrow,.portfolio-arrow{font-size:2rem}.footer-row,.footer-actions{align-items:flex-start}.fixed-footer{min-height:auto}.footer-row{padding:10px 0 12px}.portfolio-media-wrap,.portfolio-image{min-height:320px}.whatsapp-float{left:50%;right:auto;bottom:10px}.service .service-gallery,.service:nth-child(even) .service-gallery,.service .gallery-caption,.service:nth-child(even) .gallery-caption,.service .service-copy,.service:nth-child(even) .service-copy{grid-column:auto;grid-row:auto}.section-parallax{transform:none!important}}
  
.service-copy{align-self:start}

.service:nth-child(even) .gallery-caption{grid-column:2}


.portfolio-project-link{margin-top:18px;background:#fff;color:#000}




/* PORTFÓLIO EM GRID - V31 */
.portfolio-grid-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  margin-top:46px;
}

.portfolio-card{
  min-height:0;
  height:auto;
  overflow:hidden;
  border:1px solid var(--line-soft);
  background:linear-gradient(180deg,#111,#060606);
  border-radius:18px;
  display:flex;
  flex-direction:column;
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}

.portfolio-card:hover{
  transform:translateY(-6px);
  border-color:rgba(244,173,20,.55);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}

.portfolio-card-image{
  height:230px;
  flex:0 0 230px;
  background:#000;
  overflow:hidden;
  border-bottom:1px solid var(--line-soft);
}

.portfolio-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
  transition:transform .6s ease,filter .6s ease;
}

.portfolio-card:hover .portfolio-card-image img{
  transform:scale(1.06);
  filter:brightness(1.08);
}

.portfolio-card-body{
  padding:22px 24px 24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
}

.portfolio-card-tag{
  color:#f4ad14;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.75rem;
  font-weight:700;
  margin-bottom:12px;
  line-height:1.25;
}

.portfolio-card h3{
  margin:0;
  color:#fff;
  font-size:clamp(1.1rem,1.35vw,1.42rem);
  line-height:1.18;
  letter-spacing:-.025em;
}

.portfolio-card p{
  color:var(--muted);
  line-height:1.48;
  margin:16px 0 20px;
  font-size:.9rem;
  max-height:44px;
  overflow:hidden;
}

.portfolio-card-btn{
  margin-top:4px;
  background:#f4ad14;
  color:#000;
  gap:12px;
}

.portfolio-card-btn span{
  display:inline-block;
  transform:translateY(-1px);
  font-size:1.1em;
}

@media(max-width:1020px){
  .portfolio-grid-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .portfolio-grid-cards{
    grid-template-columns:1fr;
    gap:22px;
    margin-top:32px;
  }
  .portfolio-card-image{
    height:220px;
    flex-basis:220px;
  }
}


/* LOOX NA MÍDIA - V34 */
.section-media{
  background:#070707;
}

.media-empty{
  color:var(--muted);
  text-align:center;
}

.media-video-player{
  position:relative;
  max-width:520px;
  margin:44px auto 0;
}

.media-video-stage{
  position:relative;
  width:100%;
  aspect-ratio:9/16;
  background:#000;
  border:1px solid var(--line-soft);
  overflow:hidden;
  border-radius:18px;
}

.media-video-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.015);
  transition:opacity .45s ease, transform .55s ease;
  pointer-events:none;
}

.media-video-slide.active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}

.media-video-slide video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#000;
}

.media-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:#fff;
  font-size:2.6rem;
  line-height:1;
  cursor:pointer;
  z-index:5;
  padding:8px;
  text-shadow:0 2px 14px rgba(0,0,0,.8);
}

.media-prev{left:-58px}
.media-next{right:-58px}

.media-video-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:14px;
}

.media-video-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  border:0;
  background:var(--gallery-dot-inactive);
  cursor:pointer;
  padding:0;
}

.media-video-dot.active{
  background:var(--gallery-dot);
  transform:scale(1.14);
}

.media-video-caption{
  color:#dcdce2;
  text-align:center;
  font-size:.96rem;
  line-height:1.5;
  padding:8px 14px 0;
}

.media-video-caption:empty{
  display:none;
}

@media(max-width:760px){
  .media-video-player{
    max-width:min(92vw,420px);
  }
  .media-prev{left:8px}
  .media-next{right:8px}
}


/* Correção V35 — interação do player Reels & Stories */
.media-video-slide{
  z-index:1;
}

.media-video-slide.active{
  z-index:2;
}

.media-arrow{
  z-index:20;
}

.media-video-dots{
  position:relative;
  z-index:25;
}

.media-video-dot{
  position:relative;
  z-index:26;
}


/* V36 — Reels & Stories sem bolinhas */
.media-video-dots,
.media-video-dot{
  display:none!important;
}

.media-arrow{
  z-index:9999!important;
  pointer-events:auto!important;
}

.media-video-player{
  overflow:visible;
}

.media-video-stage{
  z-index:1;
}

.media-video-slide{
  pointer-events:none!important;
}

.media-video-slide.active{
  pointer-events:auto!important;
}


/* V37 — Reels & Stories: setas funcionais */
.media-video-player{
  position:relative;
  overflow:visible;
}

.media-video-stage{
  position:relative;
  z-index:1;
}

.media-arrow{
  z-index:99999!important;
  pointer-events:auto!important;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.35)!important;
  border-radius:50%;
  color:#fff!important;
}

.media-prev{
  left:10px!important;
}

.media-next{
  right:10px!important;
}

.media-video-slide{
  z-index:1;
  pointer-events:none!important;
}

.media-video-slide.active{
  z-index:2;
  pointer-events:auto!important;
}

.media-video-slide video{
  pointer-events:auto;
}


/* V38 — Reels & Stories com vídeo único */
.media-video-player{
  position:relative;
  max-width:520px;
  margin:44px auto 0;
  overflow:visible;
}

.media-video-stage{
  position:relative;
  width:100%;
  aspect-ratio:9/16;
  background:#000;
  border:1px solid var(--line-soft);
  overflow:hidden;
  border-radius:18px;
  z-index:1;
}

.media-single-video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#000;
}

.media-video-slide,
.media-video-dots,
.media-video-dot{
  display:none!important;
}

.media-arrow{
  z-index:99999!important;
  pointer-events:auto!important;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.45)!important;
  border-radius:50%;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
}

.media-prev{
  left:10px!important;
}

.media-next{
  right:10px!important;
}

.media-video-caption{
  color:#dcdce2;
  text-align:center;
  font-size:.96rem;
  line-height:1.5;
  padding:10px 14px 0;
}


/* V47 - retorno inline dos formulários estilo V17 */
.form-feedback{
  display:block!important;
  margin-top:18px!important;
  width:100%;
  min-height:0!important;
}

.form-feedback:empty{
  display:none!important;
}

.form-message-box{
  display:block!important;
  border:1px solid rgba(255,255,255,.32)!important;
  background:rgba(255,255,255,.04)!important;
  color:#f2f2f2!important;
  padding:16px 18px!important;
  font-size:.98rem!important;
  line-height:1.45!important;
  border-radius:0!important;
}

.form-message-error{
  border-color:rgba(255,120,120,.48)!important;
  color:#ffb8b8!important;
}


/* V48 - remove outer form box */
.form-feedback{
  border:none !important;
  background:none !important;
  padding:0 !important;
  box-shadow:none !important;
}


/* V65 - controles do texto hero do portfolio */

.project-hero{
    position:relative;
}

.project-hero-inner{
    position:absolute;
    left:50%;
    transform:translate(-50%, -50%);
    width:min(1180px,92%);
    z-index:10;
}

.project-title-on-image{
    font-size:calc(clamp(2rem,4vw,4.2rem) * (var(--hero-title-scale, 1)));
}

.project-hero-inner[data-title-size="70"]{
    --hero-title-scale:.70;
}

.project-hero-inner[data-title-size="75"]{
    --hero-title-scale:.75;
}

.project-hero-inner[data-title-size="80"]{
    --hero-title-scale:.80;
}

.project-hero-inner[data-title-size="85"]{
    --hero-title-scale:.85;
}

.project-hero-inner[data-title-size="90"]{
    --hero-title-scale:.90;
}

.project-hero-inner[data-title-size="95"]{
    --hero-title-scale:.95;
}

.project-hero-inner[data-title-size="100"]{
    --hero-title-scale:1;
}

.project-hero-inner[data-title-size="105"]{
    --hero-title-scale:1.05;
}

.project-hero-inner[data-title-size="110"]{
    --hero-title-scale:1.10;
}

.project-hero-inner[data-title-size="115"]{
    --hero-title-scale:1.15;
}

.project-hero-inner[data-title-size="120"]{
    --hero-title-scale:1.20;
}



/* V66 - escala dinâmica do título da imagem grande */
.project-hero-inner{
  --hero-title-scale: calc(attr(data-title-size number, 100) / 100);
}

.project-hero-inner[data-title-size] .project-title-on-image,
.project-hero-inner[data-title-size] h1{
  font-size:calc(clamp(2rem,4vw,4.2rem) * (var(--hero-title-scale, 1)))!important;
}


/* V69 HERO STYLE */
.project-hero{
 position:relative;
}

.project-hero-inner{
 position:absolute!important;
 left:50%!important;
 transform:translate(-50%,-50%)!important;
 width:min(1180px,92%)!important;
 z-index:20!important;
}

.project-title-on-image,
.project-hero-inner h1{
 font-size:calc(clamp(2rem,4vw,4.2rem) * var(--hero-title-scale,1))!important;
}


/* V70 HERO CONTROLS FIX */
.project-hero{
  position:relative!important;
  display:block!important;
}

.project-hero .project-hero-inner{
  position:absolute!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(1180px,92%)!important;
  z-index:20!important;
  padding:0!important;
}

.project-hero .project-hero-inner h1{
  font-size:calc(clamp(1.6rem,3.9vw,3.65rem) * var(--hero-title-scale,1))!important;
}


/* V71 - clientes em cards organizados */
.clientes-cards-admin{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.clientes-cards-admin .cliente-item,
.clientes-cards-admin .client-item,
.clientes-cards-admin .item{
    background:#111;
    border:1px solid #2d2d2d;
    border-radius:14px;
    padding:16px;
    display:flex;
    align-items:center;
    gap:18px;
}

.clientes-cards-admin img{
    width:160px!important;
    max-width:160px!important;
    height:90px!important;
    object-fit:contain!important;
    background:#1b1b1b;
    border-radius:10px;
    padding:10px;
    border:1px solid #333;
}

.clientes-cards-admin input[type="text"],
.clientes-cards-admin input[type="number"]{
    max-width:220px;
}

.clientes-cards-admin .cliente-info,
.clientes-cards-admin .client-info{
    flex:1;
}

@media(max-width:700px){
    .clientes-cards-admin .cliente-item,
    .clientes-cards-admin .client-item,
    .clientes-cards-admin .item{
        flex-direction:column;
        align-items:flex-start;
    }

    .clientes-cards-admin img{
        width:120px!important;
        height:70px!important;
    }
}


/* V72 - clientes em cards no CMS */
.cms-version-badge{display:inline-flex;align-items:center;margin:8px 0 18px;padding:7px 12px;border:1px solid #333;border-radius:999px;background:#111;color:#f4ad14;font-size:12px;font-weight:600}
.admin-clientes-v72 .cliente-card-v72,
.admin-clientes-v72 .item,
.admin-clientes-v72 .cliente-item,
.admin-clientes-v72 .client-item{border:1px solid #2e2e2e!important;background:#111!important;border-radius:14px!important;padding:16px!important;margin:0 0 16px!important}
.admin-clientes-v72 img{width:150px!important;max-width:150px!important;height:85px!important;max-height:85px!important;object-fit:contain!important;background:#1b1b1b!important;border:1px solid #333!important;border-radius:10px!important;padding:10px!important;display:block!important}


/* V117 - reforço borda clientes */
.client-card,
.clients-grid .client-card{
  border:1.5px solid var(--line-soft) !important;
  box-sizing:border-box;
}


/* V117 fix borda clientes */
.client-card img,
.clients-grid .client-card img{
  display:block;
}

.client-card,
.clients-grid .client-card{
  overflow:hidden;
  box-sizing:border-box;
}


/* V118 - borda clientes reforçada */
.clients-grid .client-card,
.client-card,
.clients-strip .client-card,
.clients-list .client-card{
    border: 2px solid rgba(255,255,255,0.18) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative;
}

/* corrige falha lateral superior direita */
.clients-grid .client-card::after,
.client-card::after{
    content:"";
    position:absolute;
    inset:0;
    border:2px solid rgba(255,255,255,0.18);
    pointer-events:none;
    box-sizing:border-box;
}


/* V120 - texto de Clientes alinhado com a largura das logos */
#clientes .section-head,
#clientes .section-head p,
#clientes .section-head .lead,
.clients-section .section-head,
.clients-section .section-head p,
.clients-section .section-head .lead{
  max-width: none !important;
  width: 100% !important;
}

#clientes .section-head{
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* V121 - correção definitiva das linhas/bordas das logos de clientes */
.clients,
.clients-grid,
.client-grid{
  overflow: visible !important;
}

.client-card,
.clients-grid .client-card,
.client-grid .client-card,
.client-logo,
.clients-logo,
.clients .logo-card,
#clientes .client-card,
#clientes .logo-card{
  border: 0 !important;
  outline: none !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,0.20),
    0 0 0 1px rgba(255,255,255,0.06) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
  background-clip: padding-box !important;
}

.client-card::after,
.clients-grid .client-card::after,
.client-grid .client-card::after,
#clientes .client-card::after,
#clientes .logo-card::after{
  content: none !important;
}

.client-card img,
.clients-grid .client-card img,
.client-grid .client-card img,
#clientes .client-card img,
#clientes .logo-card img{
  display: block !important;
  max-width: 100% !important;
}


/* V122 - controles de enquadramento/crop de imagens */
.portfolio-card img,
.project-media img,
.project-hero img,
.service-media img,
.hero img{
  object-fit: cover;
}


/* V128 - padrão de crop no topo para imagens grandes/cards */
.portfolio-card img,
.project-card img,
.card-portfolio img,
.work-card img,
.project-media img,
.project-hero img,
.service-media img,
.hero img,
.hero-bg,
.cover,
.cover-image{
  object-position: center top !important;
  background-position: center top !important;
}


/* V129 - crop real no topo: capa grande e cards */
.portfolio-card img,
.project-card img,
.card-portfolio img,
.work-card img,
.project-media img,
.project-gallery img,
.service-media img,
.hero img{
  object-fit: cover !important;
  object-position: center top;
}

/* A capa grande do projeto usa background-position dinâmico no projeto.php.
   Padrão: center top, para cortar primeiro embaixo. */
.project-hero{
  background-position: center top;
}






/* V134 - estilo REAL do nome do cliente nos cards de portfólio */
.portfolio-client,
.portfolio-card .portfolio-client,
.portfolio-item .portfolio-client,
.portfolio-card .client,
.portfolio-item .client,
.card-portfolio .client,
.work-card .client,
.project-card .client,
.portfolio .client,
.portfolio .portfolio-client,
.portfolio-eyebrow,
.portfolio-card .eyebrow,
.portfolio-item .eyebrow,
.card-eyebrow,
.project-client,
.case-client,
.yellow,
[class*="client"],
[class*="cliente"]{
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}


/* V137 - imagem maior página Saiba Mais */
.project-main-image-v137{
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  padding:16px;
  margin-bottom:18px;
  background:rgba(255,255,255,.025);
}


/* V138 - espaçamento título/texto extra nos cards */
.portfolio-card p,
.portfolio-item p,
.card-portfolio p,
.work-card p,
.project-card p{
    margin: 3px 0 10px !important;
}


/* V139 - CMS galeria de serviços */
.service-media-admin-v139{
  display:block;
  margin:18px 0;
  padding:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}

.service-media-preview-v139 img,
.service-media-preview-v139 video{
  width:100%;
  max-width:420px;
  max-height:260px;
  object-fit:cover;
  object-position:center top;
  display:block;
  margin-bottom:10px;
  background:#000;
}


/* V142 - vídeo MP4 como fundo da capa da home */
.hero{
  position:relative;
  overflow:hidden;
}

.hero-bg-video-v142{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  z-index:0;
  pointer-events:none;
}

.hero::before{
  z-index:1;
}

.hero > *:not(.hero-bg-video-v142){
  position:relative;
  z-index:2;
}


/* V144 - garante visibilidade do vídeo da capa */
.hero-bg-video-v142{
  display:block !important;
  opacity:1 !important;
}


/* V145 - vídeo da capa realmente visível no front */
.hero{
  position:relative !important;
  overflow:hidden !important;
}

.hero-video-layer-v145{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  background:#000;
}

.hero-bg-video-v145{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:0 !important;
  pointer-events:none !important;
}

.hero:has(.hero-video-layer-v145){
  background-image:none !important;
}

.hero:has(.hero-video-layer-v145)::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.72)) !important;
  pointer-events:none !important;
}

.hero > *:not(.hero-video-layer-v145){
  position:relative !important;
  z-index:2 !important;
}


/* V147 - loader visual de upload no CMS */
.upload-progress-v147{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.72);
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.upload-progress-v147[hidden]{
  display:none !important;
}

.upload-progress-box-v147{
  width:min(520px,100%);
  background:#101010;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  padding:24px;
  box-shadow:0 20px 80px rgba(0,0,0,.45);
  color:#fff;
}

.upload-progress-bar-v147{
  height:16px;
  background:rgba(255,255,255,.12);
  border-radius:999px;
  overflow:hidden;
  margin:18px 0 12px;
}

#uploadProgressFillV147{
  width:0%;
  height:100%;
  background:#f5a623;
  transition:width .15s linear;
}

.upload-progress-text-v147{
  font-size:18px;
  font-weight:700;
  margin-bottom:6px;
}

.upload-progress-detail-v147{
  color:#bbb;
  font-size:14px;
}


/* V149 - loader dentro da área útil do CMS */
.upload-progress-v147{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,.58) !important;
  z-index:99999 !important;
  display:grid !important;
  place-items:center !important;
  padding:24px !important;
}

.upload-progress-v147[hidden]{
  display:none !important;
}

.upload-progress-box-v147{
  width:min(720px, calc(100vw - 360px)) !important;
  max-width:720px !important;
  min-width:360px !important;
  margin-left:260px !important; /* compensa menu lateral do CMS */
  align-self:center !important;
  justify-self:center !important;
}

@media(max-width:900px){
  .upload-progress-box-v147{
    width:calc(100vw - 40px) !important;
    min-width:0 !important;
    margin-left:0 !important;
  }
}


/* V150 - somente Serviços: mídia em 16:9 mantendo largura de 620px */
.service-gallery,
.service-gallery .gallery-track,
.service-gallery .gallery-slide,
.service-gallery .video-slide{
  width:620px !important;
  max-width:100% !important;
  aspect-ratio:16 / 9 !important;
  height:auto !important;
}

.service-gallery .gallery-slide{
  background-size:cover !important;
  background-position:center top !important;
}

.service-gallery img,
.service-gallery video,
.service-gallery .gallery-slide video{
  width:100% !important;
  height:100% !important;
  aspect-ratio:16 / 9 !important;
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
}

@media(max-width:720px){
  .service-gallery,
  .service-gallery .gallery-track,
  .service-gallery .gallery-slide,
  .service-gallery .video-slide{
    width:100% !important;
  }
}


/* V151 - somente Serviços: mídia fixa em 620x348px */
.service-gallery,
.service-gallery .gallery-track,
.service-gallery .gallery-slide,
.service-gallery .video-slide{
  width:620px !important;
  height:348px !important;
  max-width:620px !important;
  min-width:620px !important;
  max-height:348px !important;
  min-height:348px !important;
  aspect-ratio:auto !important;
}

.service-gallery .gallery-slide{
  background-size:cover !important;
  background-position:center top !important;
}

.service-gallery img,
.service-gallery video,
.service-gallery .gallery-slide video{
  width:620px !important;
  height:348px !important;
  max-width:620px !important;
  max-height:348px !important;
  min-width:620px !important;
  min-height:348px !important;
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
}

@media(max-width:720px){
  .service-gallery,
  .service-gallery .gallery-track,
  .service-gallery .gallery-slide,
  .service-gallery .video-slide,
  .service-gallery img,
  .service-gallery video,
  .service-gallery .gallery-slide video{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16 / 9 !important;
  }
}


/* V152 - botão para fechar/mostrar vídeo da hero */
.hero-video-toggle-v152{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  z-index:5;
  background:transparent;
  color:#fff;
  border:1.5px solid rgba(255,255,255,.85);
  border-radius:999px;
  padding:10px 22px;
  font-size:.92rem;
  font-weight:500;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(6px);
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.hero-video-toggle-v152:hover{
  background:rgba(255,255,255,.12);
  border-color:#fff;
  transform:translateX(-50%) translateY(-1px);
}

.hero-video-hidden-v152 .hero-video-layer-v145,
.hero-video-hidden-v152 .hero-bg-video-v145,
.hero-video-hidden-v152 .hero-bg-video-v142{
  display:none !important;
}

@media(max-width:720px){
  .hero-video-toggle-v152{
    bottom:22px;
    padding:9px 18px;
    font-size:.84rem;
  }
}


/* V153 - ao fechar o vídeo, a imagem estática da hero volta */
.hero.hero-video-hidden-v152:has(.hero-video-layer-v145){
  background-image:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.72)), var(--hero-static-bg, none) !important;
}

.hero.hero-video-hidden-v152 .hero-video-layer-v145,
.hero.hero-video-hidden-v152 .hero-bg-video-v145,
.hero.hero-video-hidden-v152 .hero-bg-video-v142{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

.hero.hero-video-hidden-v152::before{
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.72)) !important;
}


/* V154 - hero com camada estática + camada de vídeo */
.hero{
  position:relative !important;
  overflow:hidden !important;
  background-image:none !important;
}

.hero-static-layer-v154,
.hero-video-layer-v154{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

.hero-static-layer-v154{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
}

.hero-video-layer-v154{
  z-index:1 !important;
  background:#000 !important;
}

.hero-bg-video-v154{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}

.hero-show-static-v154 .hero-video-layer-v154,
.hero-show-static-v154 .hero-bg-video-v154{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

.hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.72)) !important;
  pointer-events:none !important;
}

.hero > *:not(.hero-static-layer-v154):not(.hero-video-layer-v154):not(.hero-video-toggle-v154){
  position:relative !important;
  z-index:3 !important;
}

.hero-video-toggle-v154{
  position:absolute !important;
  left:50% !important;
  bottom:34px !important;
  transform:translateX(-50%) !important;
  z-index:4 !important;
  background:transparent !important;
  color:#fff !important;
  border:1.5px solid rgba(255,255,255,.85) !important;
  border-radius:999px !important;
  padding:10px 22px !important;
  font-size:.92rem !important;
  font-weight:500 !important;
  line-height:1 !important;
  cursor:pointer !important;
  backdrop-filter:blur(6px) !important;
  transition:background .2s ease, border-color .2s ease, transform .2s ease !important;
}

.hero-video-toggle-v154:hover{
  background:rgba(255,255,255,.12) !important;
  border-color:#fff !important;
  transform:translateX(-50%) translateY(-1px) !important;
}

/* desativa efeitos antigos baseados em :has das versões anteriores */
.hero:has(.hero-video-layer-v145),
.hero:has(.hero-video-layer-v154){
  background-image:none !important;
}

@media(max-width:720px){
  .hero-video-toggle-v154{
    bottom:22px !important;
    padding:9px 18px !important;
    font-size:.84rem !important;
  }
}


/* V155 - hero video/imagem com alternância direta por ID */
.hero{
  position:relative !important;
  overflow:hidden !important;
  background:none !important;
}

#heroStaticV155,
#heroVideoV155{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block;
  pointer-events:none !important;
}

#heroStaticV155{
  z-index:0 !important;
}

#heroVideoV155{
  z-index:1 !important;
  background:#000 !important;
}

.hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.72)) !important;
  pointer-events:none !important;
}

.hero > *:not(#heroStaticV155):not(#heroVideoV155):not(#heroToggleV155){
  position:relative !important;
  z-index:3 !important;
}

#heroToggleV155{
  position:absolute !important;
  left:50% !important;
  bottom:34px !important;
  transform:translateX(-50%) !important;
  z-index:10 !important;
  background:transparent !important;
  color:#fff !important;
  border:1.5px solid rgba(255,255,255,.88) !important;
  border-radius:999px !important;
  padding:10px 22px !important;
  font-size:.92rem !important;
  font-weight:500 !important;
  line-height:1 !important;
  cursor:pointer !important;
  backdrop-filter:blur(6px) !important;
}

#heroToggleV155:hover{
  background:rgba(255,255,255,.12) !important;
  border-color:#fff !important;
}

@media(max-width:720px){
  #heroToggleV155{
    bottom:22px !important;
    padding:9px 18px !important;
    font-size:.84rem !important;
  }
}


/* V156 - hero-cover video/imagem com alternância direta */
.hero-cover{
  position:relative !important;
  overflow:hidden !important;
}

#heroStaticV156,
#heroVideoV156{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block;
  pointer-events:none !important;
}

#heroStaticV156{
  z-index:0 !important;
}

#heroVideoV156{
  z-index:1 !important;
  background:#000 !important;
}

.hero-cover::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.72)) !important;
  pointer-events:none !important;
}

.hero-cover > *:not(#heroStaticV156):not(#heroVideoV156):not(#heroToggleV156){
  position:relative !important;
  z-index:3 !important;
}

#heroToggleV156{
  position:absolute !important;
  left:50% !important;
  bottom:34px !important;
  transform:translateX(-50%) !important;
  z-index:10 !important;
  background:transparent !important;
  color:#fff !important;
  border:1.5px solid rgba(255,255,255,.88) !important;
  border-radius:999px !important;
  padding:10px 22px !important;
  font-size:.92rem !important;
  font-weight:500 !important;
  line-height:1 !important;
  cursor:pointer !important;
  backdrop-filter:blur(6px) !important;
}

#heroToggleV156:hover{
  background:rgba(255,255,255,.12) !important;
  border-color:#fff !important;
}

@media(max-width:720px){
  #heroToggleV156{
    bottom:22px !important;
    padding:9px 18px !important;
    font-size:.84rem !important;
  }
}


/* V157 - cabeçalho com altura de 130px */
.site-header,
.main-header,
.header,
.navbar,
.topbar,
header.site-header,
header.main-header,
header.header,
header.navbar,
header.topbar{
  min-height:130px !important;
}

.site-header .container,
.main-header .container,
.header .container,
.navbar .container,
.topbar .container{
  min-height:130px !important;
  display:flex;
  align-items:center;
}


/* V158 - FAQ front */
.faq-section-v158{padding:80px 0;border-top:1px solid var(--line);}
.faq-list-v158{max-width:920px;margin:32px auto 0;display:flex;flex-direction:column;gap:12px;}
.faq-item-v158{border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.025);overflow:hidden;}
.faq-item-v158 summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:600;}
.faq-item-v158 summary::-webkit-details-marker{display:none;}
.faq-item-v158 summary strong{flex:0 0 auto;font-size:22px;line-height:1;color:var(--yellow);transition:transform .2s ease;}
.faq-item-v158[open] summary strong{transform:rotate(45deg);}
.faq-answer-v158{padding:0 22px 22px;color:var(--muted);line-height:1.65;}
.faq-answer-v158 p:last-child{margin-bottom:0;}

/* V158 - FAQ CMS */
.faq-admin-item-v158{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px;margin:18px 0;background:rgba(255,255,255,.025);}
.faq-admin-head-v158{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;}
.faq-admin-actions-v158{display:flex;gap:8px;flex-wrap:wrap;}
@media(max-width:720px){.faq-admin-head-v158{align-items:flex-start;flex-direction:column;}}


/* V159 - FAQ: CMS lista compacta e front largura total da área útil */
.faq-question-list-v159{display:flex;flex-direction:column;gap:10px;}
.faq-question-row-v159{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025);}
.faq-question-title-v159{display:flex;flex-direction:column;gap:4px;}
.faq-question-title-v159 span{color:var(--muted);font-size:.82rem;}
.faq-question-actions-v159{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.faq-edit-top-v159{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;}
.faq-intro-form-v159{margin-bottom:20px;}
.faq-list-v158{max-width:none !important;width:100% !important;margin-left:0 !important;margin-right:0 !important;}
.faq-section-v158 .container{max-width:var(--container) !important;}
.faq-item-v158{width:100% !important;}
@media(max-width:720px){.faq-question-row-v159,.faq-edit-top-v159{flex-direction:column;align-items:flex-start}.faq-question-actions-v159{width:100%;}}


/* V160 - ajustes FAQ CMS, leitura da hero e logo */
.faq-question-list-v159{
  gap:16px !important;
}

.faq-question-row-v159{
  padding:18px 18px !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
}

.faq-question-row-v159 + .faq-question-row-v159{
  margin-top:2px !important;
}

.hero-cover .cover-text,
.hero-cover .cover-text h1,
.hero-cover .cover-text p,
.hero-cover .cover-text .eyebrow,
.hero-cover .scroll-indicator{
  text-shadow:0 3px 18px rgba(0,0,0,.55), 0 1px 4px rgba(0,0,0,.45) !important;
}

.topbar .brand img,
.site-header .brand img,
.header .brand img,
.navbar .brand img{
  transform:scale(1.25) !important;
  transform-origin:left center !important;
}

.topbar .brand,
.site-header .brand,
.header .brand,
.navbar .brand{
  min-width:max-content !important;
}


/* V161 - linha divisória real entre perguntas do FAQ no CMS */
.faq-question-list-v159{
  gap:0 !important;
  border-top:1px solid rgba(255,255,255,.16) !important;
}

.faq-question-row-v159{
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:18px 0 !important;
}

.faq-question-row-v159:last-child{
  border-bottom:none !important;
}

.faq-question-row-v159 + .faq-question-row-v159{
  margin-top:0 !important;
}


/* V162 - correção dos pontos de âncora com cabeçalho fixo */
html{
  scroll-padding-top:150px !important;
}

section[id],
[id="inicio"],
[id="servicos"],
[id="portfolio"],
[id="clientes"],
[id="faq"],
[id="contato"],
[id="reels"],
[id="stories"]{
  scroll-margin-top:150px !important;
}

/* V162 - botão flutuante de contato */
.floating-contact-v162{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(245,166,35,.96);
  color:#111;
  font-weight:700;
  font-size:.95rem;
  text-decoration:none;
  box-shadow:0 14px 40px rgba(0,0,0,.32);
  backdrop-filter:blur(8px);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.floating-contact-v162:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 50px rgba(0,0,0,.42);
  background:#f5a623;
}

@media(max-width:720px){
  html{
    scroll-padding-top:120px !important;
  }

  section[id],
  [id="inicio"],
  [id="servicos"],
  [id="portfolio"],
  [id="clientes"],
  [id="faq"],
  [id="contato"],
  [id="reels"],
  [id="stories"]{
    scroll-margin-top:120px !important;
  }

  .floating-contact-v162{
    right:16px;
    bottom:16px;
    min-height:44px;
    padding:0 18px;
    font-size:.88rem;
  }
}


/* V163 - CTA no cabeçalho no lugar do seletor de idiomas */
.floating-contact-v162{
  display:none !important;
}

.header-contact-v163{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(245,166,35,.65) !important;
  background:rgba(245,166,35,.95) !important;
  color:#111 !important;
  font-weight:700 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:0 10px 28px rgba(0,0,0,.22) !important;
}

.header-contact-v163:hover{
  background:#f5a623 !important;
  transform:translateY(-1px) !important;
}

/* Remove visualmente dropdowns/áreas antigas de idioma */
.lang-switcher,
.language-switcher,
.idioma-switcher,
.lang-select,
.language-select,
select[name*="lang"],
select[id*="lang"],
select[class*="lang"]{
  display:none !important;
}

/* V163 - âncoras: usar JS como fonte principal e evitar offset acumulado */
html{
  scroll-padding-top:0 !important;
}

section[id],
[id="inicio"],
[id="servicos"],
[id="portfolio"],
[id="clientes"],
[id="faq"],
[id="contato"],
[id="reels"],
[id="stories"]{
  scroll-margin-top:0 !important;
}

/* SEO/GEO: melhora foco visual sem afetar crawl */
section[id]{
  position:relative;
}

@media(max-width:900px){
  .header-contact-v163{
    min-height:38px !important;
    padding:0 14px !important;
    font-size:.86rem !important;
  }
}


/* V164 - FAQ CMS com linha visível entre perguntas */
.faq-question-list-v159{
  gap:0 !important;
  border-top:1px solid rgba(255,255,255,.32) !important;
}
.faq-question-row-v159{
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.32) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:18px 0 !important;
}
.faq-question-row-v159:last-child{
  border-bottom:none !important;
}

/* V164 - CTA fixo no rodapé */
.header-contact-v163{ display:none !important; }
.footer-contact-v164{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:9999 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(245,166,35,.96) !important;
  color:#111 !important;
  font-weight:700 !important;
  font-size:.95rem !important;
  text-decoration:none !important;
  box-shadow:0 14px 40px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(8px) !important;
}
.footer-contact-v164:hover{
  background:#f5a623 !important;
  transform:translateY(-2px) !important;
}

/* V164 - âncoras controladas por JS */
html{ scroll-padding-top:0 !important; }
section[id],
[id="inicio"],
[id="sobre"],
[id="servicos"],
[id="portfolio"],
[id="clientes"],
[id="faq"],
[id="contato"],
[id="reels-stories"]{
  scroll-margin-top:0 !important;
}
@media(max-width:720px){
  .footer-contact-v164{
    right:16px !important;
    bottom:16px !important;
    min-height:44px !important;
    padding:0 18px !important;
    font-size:.88rem !important;
  }
}


/* V165 - menu, FAQ CMS e CTA alinhado à área útil */
.faq-question-list-v159{
  gap:0 !important;
  border-top:2px solid rgba(255,255,255,.28) !important;
}

.faq-question-row-v159{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:20px 0 !important;
}

.faq-question-row-v159:not(:last-child){
  border-bottom:2px solid rgba(255,255,255,.28) !important;
  margin-bottom:8px !important;
  padding-bottom:20px !important;
}

.footer-contact-v164{
  display:none !important;
}

.footer-contact-v165{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  bottom:24px !important;
  transform:translateX(calc((min(var(--container, 1180px), calc(100vw - 48px)) / 2) - 100%)) !important;
  z-index:9999 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(245,166,35,.96) !important;
  color:#111 !important;
  font-weight:700 !important;
  font-size:.9rem !important;
  text-decoration:none !important;
  box-shadow:0 12px 34px rgba(0,0,0,.30) !important;
  backdrop-filter:blur(8px) !important;
  white-space:nowrap !important;
}

.footer-contact-v165:hover{
  background:#f5a623 !important;
  transform:translateX(calc((min(var(--container, 1180px), calc(100vw - 48px)) / 2) - 100%)) translateY(-2px) !important;
}

@media(max-width:720px){
  .footer-contact-v165{
    left:auto !important;
    right:16px !important;
    bottom:16px !important;
    transform:none !important;
    min-height:40px !important;
    padding:0 14px !important;
    font-size:.82rem !important;
  }

  .footer-contact-v165:hover{
    transform:translateY(-2px) !important;
  }
}


/* V166 - correções finais CTA e divisórias reais no FAQ CMS */
.footer-contact-v165{
  bottom:34px !important;
  transform:translateX(calc((min(var(--container, 1180px), calc(100vw - 48px)) / 2) - 100% - 72px)) !important;
}

.footer-contact-v165:hover{
  transform:translateX(calc((min(var(--container, 1180px), calc(100vw - 48px)) / 2) - 100% - 72px)) translateY(-2px) !important;
}

/* Linha HTML real entre perguntas, para organização visual no CMS */
.faq-row-divider-v166{
  width:100% !important;
  height:1px !important;
  margin:18px 0 !important;
  background:rgba(255,255,255,.38) !important;
  display:block !important;
}

.faq-question-row-v159{
  padding:18px 0 !important;
}

.faq-question-row-v159:not(:last-child){
  border-bottom:0 !important;
  margin-bottom:0 !important;
  padding-bottom:18px !important;
}

@media(max-width:720px){
  .footer-contact-v165{
    right:84px !important;
    left:auto !important;
    bottom:16px !important;
    transform:none !important;
  }

  .footer-contact-v165:hover{
    transform:translateY(-2px) !important;
  }
}


/* V167 - linhas realmente visíveis entre perguntas do FAQ no CMS */
.faq-question-list-v159{
  display:block !important;
}

.faq-question-row-v159{
  display:block !important;
  padding:10px 0 0 0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.faq-question-title-v159{
  display:block !important;
  margin-bottom:6px !important;
}

.faq-question-actions-v159{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin-bottom:12px !important;
}

.faq-line-inside-v167,
.faq-row-divider-v166{
  display:block !important;
  width:100% !important;
  height:2px !important;
  min-height:2px !important;
  margin:14px 0 16px 0 !important;
  background:rgba(255,255,255,.45) !important;
  border:0 !important;
  clear:both !important;
}

/* V167 - CTA dentro do footer fixo */
.footer-contact-v164,
.footer-contact-v165{
  display:none !important;
}

.site-footer.fixed-footer{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
}

.site-footer.fixed-footer .footer-contact-v167,
.footer-contact-v167{
  position:absolute !important;
  right:calc((100vw - min(var(--container, 1180px), calc(100vw - 48px))) / 2) !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  z-index:10 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(245,166,35,.96) !important;
  color:#111 !important;
  font-weight:700 !important;
  font-size:.88rem !important;
  text-decoration:none !important;
  box-shadow:0 10px 28px rgba(0,0,0,.28) !important;
  white-space:nowrap !important;
}

.site-footer.fixed-footer .footer-contact-v167:hover,
.footer-contact-v167:hover{
  background:#f5a623 !important;
}

@media(max-width:720px){
  .site-footer.fixed-footer .footer-contact-v167,
  .footer-contact-v167{
    right:16px !important;
    min-height:34px !important;
    padding:0 12px !important;
    font-size:.78rem !important;
  }
}

/* V169 - âncoras exatas na divisão das seções */
.anchor-marker-v169{display:block!important;position:relative!important;height:0!important;width:100%!important;scroll-margin-top:130px!important;}
html{scroll-padding-top:0!important;}
section[id]{scroll-margin-top:0!important;}
.faq-question-list-v159 .faq-question-row-v159{border-bottom:2px solid #fff!important;margin-bottom:18px!important;padding-bottom:18px!important;}
@media(max-width:720px){.anchor-marker-v169{scroll-margin-top:110px!important;}}


/* V179 antispam */
.loox-antispam-field{
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.captcha-field-v179{
  margin-top:14px;
}
