:root{
  --fundo:        #FBFBF9;
  --fundo-2:      #F3F3F0;
  --fundo-3:      #EBEBE7;
  --fundo-4:      #DEDED8;

  --texto:        #15171A;
  --texto-rgb:    21,23,26;

  --acento:       #23272D;
  --acento-rgb:   35,39,45;
  --acento-esc:   #3A3F47;
  --acento-texto: #FBFBF9;
  --foco:         #6B7480;

  --contraste:           #23272D;
  --contraste-texto:     #FBFBF9;
  --contraste-texto-rgb: 251,251,249;

  --sombra:       rgba(21,23,26,.14);
  --sombra-forte: rgba(21,23,26,.26);
  --scrim:        rgba(21,23,26,.74);

  --fundo-2-rgb:  243,243,240;
  --texto-70:     rgba(21,23,26,.72);
  --texto-45:     rgba(21,23,26,.55);
  --linha:        rgba(21,23,26,.13);
  --linha-forte:  rgba(21,23,26,.27);
}

:root{

  --sobre-foto-rgb: 255,255,255;

  --sans: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --serif: var(--sans);

  --fs-micro:   .8125rem;
  --fs-body:    1.0625rem;
  --fs-lead:    1.3125rem;
  --fs-h3:      1.625rem;
  --fs-h2:      clamp(2.125rem, 4vw, 3.25rem);
  --fs-display: clamp(2.5rem, 6.4vw, 5.25rem);
  --fs-preco:   1.4375rem;

  --container: 75rem;
  --gutter:    clamp(1.25rem, 4vw, 3rem);
  --radio:     0;
  --nav-h:     4.75rem;
  --gaveta-h:  15rem;
}
@media (max-width:36rem){

  :root{--gaveta-h:13.5rem}
}

*,*::before,*::after{box-sizing:border-box}

body.menu-aberto{overflow:hidden}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--fundo);
  color:var(--texto);
  font-family:var(--sans);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

img,video{max-width:100%;height:auto;display:block}

h1,h2,h3,h4{
  margin:0;
  font-weight:900;
  line-height:1.12;
  letter-spacing:-.02em;
}

h1{font-size:var(--fs-display);line-height:1;text-transform:uppercase}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
p{margin:0}

a{color:inherit}

::selection{background:var(--acento);color:var(--acento-texto)}

:focus-visible{
  outline:3px solid var(--foco);
  outline-offset:3px;
}

.salta-para-conteudo{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--texto);color:var(--fundo);
  padding:.75rem 1.25rem;font-weight:700;
}
.salta-para-conteudo:focus{left:.75rem;top:.75rem}

.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.etiqueta{
  font-family:var(--mono);
  font-size:var(--fs-micro);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--texto-45);
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--sans);
  font-size:.9375rem;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:uppercase;
  text-decoration:none;
  padding:.9375rem 1.5rem;
  border-radius:var(--radio);
  border:2px solid transparent;
  cursor:pointer;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.btn:active{transform:translateY(1px)}

.btn--acento{
  background:var(--acento);
  color:var(--acento-texto);
  border-color:var(--acento);
}
.btn--acento:hover{background:var(--acento-esc);border-color:var(--acento-esc)}

.btn--linha{
  background:transparent;
  color:var(--texto);
  border-color:var(--linha-forte);
}
.btn--linha:hover{border-color:var(--texto);background:rgba(var(--texto-rgb),.06)}

.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  height:var(--nav-h);
  display:flex;align-items:center;
  background:transparent;
  transition:background-color .25s ease, transform .35s cubic-bezier(.22,1,.36,1);
}

.nav.is-escondida{transform:translateY(-100%)}
.nav.is-fixa{
  background:rgba(var(--fundo-2-rgb),.94);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}

.nav__inner{
  width:100%;
  padding-inline:clamp(1.25rem, 5vw, 6rem);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  grid-template-rows:1fr;
  align-items:center;
  column-gap:1.5rem;
}

.marca{
  grid-column:2;grid-row:1;justify-self:center;
  display:flex;align-items:center;
  text-decoration:none;flex-shrink:0;
}

.marca img,
.marca__simbolo{height:2.75rem;width:auto;object-fit:contain;display:block}

.nav__nome{
  display:none;
  text-decoration:none;
  grid-column:2;grid-row:1;justify-self:center;
  position:relative;z-index:2;
  min-width:0;

  font-family:var(--sans);
  font-weight:500;
  font-size:.8125rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--texto);
}

.nav__toggle{grid-column:3;grid-row:1;justify-self:end}

.nav--sobre-foto:not(.is-fixa) .marca__simbolo rect{stroke:rgba(var(--sobre-foto-rgb),.9)}
.nav--sobre-foto:not(.is-fixa) .marca__simbolo text{fill:rgba(var(--sobre-foto-rgb),.9)}
.nav--sobre-foto:not(.is-fixa) .nav__nome{color:rgba(var(--sobre-foto-rgb),.95)}
.nav--sobre-foto:not(.is-fixa) .nav__toggle{color:rgba(var(--sobre-foto-rgb),1)}

@media (min-width:60.0625rem){
  .nav--sobre-foto:not(.is-fixa) .nav__links a{color:rgba(var(--sobre-foto-rgb),.78)}
  .nav--sobre-foto:not(.is-fixa) .nav__links a:hover,
  .nav--sobre-foto:not(.is-fixa) .nav__links a[aria-current="page"]{
    color:rgba(var(--sobre-foto-rgb),1);
  }
  .nav--sobre-foto:not(.is-fixa) .nav__links-marcador{background:rgba(var(--sobre-foto-rgb),1)}

  .nav--sobre-foto:not(.is-fixa) .btn--acento{
    background:rgba(var(--sobre-foto-rgb),1);
    border-color:rgba(var(--sobre-foto-rgb),1);
    color:#15171A;
  }
  .nav--sobre-foto:not(.is-fixa) .btn--acento:hover{
    background:rgba(var(--sobre-foto-rgb),.85);
    border-color:rgba(var(--sobre-foto-rgb),.85);
  }
  .nav--sobre-foto:not(.is-fixa) .btn--linha{
    border-color:rgba(var(--sobre-foto-rgb),.5);
    color:rgba(var(--sobre-foto-rgb),1);
  }
}

.nav__links{
  grid-column:1;grid-row:1;justify-self:start;
  position:relative;
  display:flex;align-items:center;gap:1.75rem;
  list-style:none;padding:0;margin-block:0;
}

.nav__links-marcador{
  position:absolute;
  left:0;bottom:0;
  width:0;height:2px;
  background:var(--acento);
  opacity:0;
  pointer-events:none;
  transition:transform .3s cubic-bezier(.22,1,.36,1),
             width .3s cubic-bezier(.22,1,.36,1),
             opacity .18s ease,
             background-color .18s ease;
}
.nav__links-marcador.is-visivel{opacity:1}
@media (prefers-reduced-motion:reduce){
  .nav__links-marcador{transition:opacity .18s ease}
}

.nav__direita{
  grid-column:3;grid-row:1;justify-self:end;
  display:flex;align-items:center;gap:1.5rem;
}
.nav__links a{
  text-decoration:none;
  font-size:.9375rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:var(--texto-70);
  padding-block:.25rem;
  border-bottom:2px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--texto)}

html:not(.js) .nav__links a[aria-current="page"]{border-bottom-color:var(--acento)}

.nav .btn{padding:.6875rem 1.125rem;font-size:.875rem;white-space:nowrap}

.nav__toggle{
  display:none;
  width:2.75rem;height:2.75rem;
  align-items:center;justify-content:center;
  background:transparent;border:none;
  color:var(--texto);cursor:pointer;
  position:relative;
}

.nav__toggle svg{
  position:absolute;inset:0;margin:auto;
  width:1.25rem;height:1.25rem;
  opacity:1;transform:rotate(0deg);
  transition:opacity .2s ease, transform .2s ease;
}
.nav__toggle .icone-fechar{opacity:0;transform:rotate(-45deg)}
.nav__toggle[aria-expanded="true"] .icone-abrir{opacity:0;transform:rotate(45deg)}
.nav__toggle[aria-expanded="true"] .icone-fechar{opacity:1;transform:rotate(0deg)}

@media (max-width:60rem){
  :root{--nav-h:4rem}

  .marca img,
  .marca__simbolo{height:2.25rem}

  .nav.is-fixa{
    background:var(--fundo-2);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  body.menu-aberto .nav{background:var(--fundo-2)}
  body.menu-aberto .nav--sobre-foto:not(.is-fixa) .marca__simbolo rect{stroke:var(--texto)}
  body.menu-aberto .nav--sobre-foto:not(.is-fixa) .marca__simbolo text{fill:var(--texto)}
  body.menu-aberto .nav--sobre-foto:not(.is-fixa) .nav__nome{color:var(--texto)}
  body.menu-aberto .nav--sobre-foto:not(.is-fixa) .nav__toggle{color:var(--texto)}
  .nav__toggle{display:flex;position:relative;z-index:2}
  .marca{grid-column:1;justify-self:start;position:relative;z-index:2}
  .nav__nome{display:flex;align-items:center;align-self:stretch;padding-inline:.5rem}

  .nav__painel{
    position:fixed;inset:var(--nav-h) 0 0 0;
    background:var(--fundo-2);
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    padding:2rem var(--gutter) calc(2rem + env(safe-area-inset-bottom));
    visibility:hidden;
    transform:translateX(100%);
    pointer-events:none;
    transition:transform .38s cubic-bezier(.64,0,.78,0),
               visibility 0s linear .38s;
  }
  .nav__painel.is-aberto{
    visibility:visible;
    transform:none;
    pointer-events:auto;
    transition:transform .65s cubic-bezier(.16,1,.3,1),
               visibility 0s linear 0s;
  }

  .nav__links li{overflow:hidden}
  .nav__links a{
    transform:translateY(140%) rotate(10deg);
    transform-origin:50% 100%;
    opacity:0;
    transition:transform 0s linear .38s, opacity 0s linear .38s;
  }
  .nav__painel.is-aberto .nav__links a{
    transform:none;
    opacity:1;
    transition:transform 1s cubic-bezier(.16,1,.3,1), opacity .35s ease-out;
    transition-delay:calc(.12s + var(--i,0) * .1s);
  }
  .nav__links li:nth-child(2){--i:0}
  .nav__links li:nth-child(3){--i:1}
  .nav__links li:nth-child(4){--i:2}
  .nav__links li:nth-child(5){--i:3}
  .nav__links li:nth-child(6){--i:4}

  .nav__direita > *{
    opacity:0;
    transform:translateY(25px);
    transition:transform 0s linear .38s, opacity 0s linear .38s;
  }
  .nav__painel.is-aberto .nav__direita > *{
    opacity:1;
    transform:none;
    transition:opacity .55s ease-out .52s, transform .55s cubic-bezier(.33,1,.68,1) .52s;
  }
  .nav__painel.is-aberto .nav__direita > *:nth-child(2){transition-delay:.6s}

  .nav__links{
    flex-direction:column;align-items:stretch;gap:0;
    margin-left:0;width:100%;
  }

  .nav__links li{width:100%}
  .nav__links-marcador{display:none}
  .nav__links a{
    display:block;padding:.75rem 0;font-size:1.75rem;border-bottom:none;
    text-align:right;
    letter-spacing:-.01em;
  }
  .nav__direita{
    flex-direction:column;align-items:flex-end;gap:1rem;
    margin-top:2.5rem;width:100%;
  }
  .nav__painel .btn{display:flex;width:100%;margin-top:1rem}
}
@media (prefers-reduced-motion:reduce){
  .nav__painel,.nav__links a,.nav__direita > *{transition:none !important}
}
@media (min-width:60.0625rem){
  .nav__painel{display:contents}

  .marca{grid-column:1;justify-self:start}
  .nav__links{grid-column:2;justify-self:center}
}

.rodape{
  background:var(--fundo-2);
  border-top:1px solid var(--linha);
  padding-block:3rem 2rem;

  box-shadow:0 20px 30px -12px var(--sombra);
}

.rodape__grid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2.5rem;
  flex-wrap:wrap;
  padding-block:1.5rem;
}

@media (min-width:56.3125rem){
  .rodape__grid{
    display:grid;
    grid-template-columns:1fr auto 1fr;
  }
  .rodape__marca-bloco{justify-self:start}
  .rodape__meio{justify-self:center}
  .rodape__cta{justify-self:end}
}

.rodape__marca-bloco{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

.rodape__marca{display:flex;align-items:center;text-decoration:none;color:inherit}
.rodape__marca img,
.rodape__marca-img{height:3.25rem;width:auto;object-fit:contain}

.rodape__meio{
  display:flex;
  align-items:flex-start;
  gap:2.75rem;

}
.rodape__meio-empilhado{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1.5rem;
}
.rodape__coluna{text-align:center}
.rodape__coluna .etiqueta{display:block;margin-bottom:1rem}
.rodape__coluna ul{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;align-items:center;gap:.625rem;
}
.rodape__coluna a{color:var(--texto-70);text-decoration:none;transition:color .18s ease}
.rodape__coluna a:hover{color:var(--texto)}

.rodape__redes{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
}
.rodape__redes a{display:flex;color:var(--texto-70);transition:color .18s ease}
.rodape__redes a:hover{color:var(--texto)}
.rodape__redes svg{width:1.25rem;height:1.25rem}

.rodape__cta{
  display:flex;
  align-items:center;

  justify-content:flex-end;
  flex:0 0 17.25rem;

  align-self:center;
}
.rodape__cta-capsula{
  box-sizing:content-box;
  display:flex;
  align-items:center;
  width:2.75rem;height:2.75rem;
  border:2px solid var(--linha-forte);
  overflow:hidden;
  white-space:nowrap;
  transition:width .4s cubic-bezier(.4,0,.2,1), border-color .3s ease;
}
.rodape__cta-capsula:hover,
.rodape__cta-capsula:focus-within{
  width:16.75rem;
  border-color:var(--acento);
}

.rodape__cta-btn{
  display:flex;
  align-items:center;
  text-decoration:none;
  color:var(--texto-70);
  transition:color .18s ease;
}
.rodape__cta-capsula:hover .rodape__cta-btn,
.rodape__cta-capsula:focus-within .rodape__cta-btn{
  color:var(--texto);
}
.rodape__cta-btn__icone{
  display:flex;align-items:center;justify-content:center;
  flex:0 0 2.75rem;
  width:2.75rem;height:2.75rem;
  background:transparent;
  color:inherit;
}
.rodape__cta-btn__icone svg{width:1.375rem;height:1.375rem}
.rodape__cta-btn__texto{
  font-size:.875rem;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:uppercase;
  padding-inline:1rem 1.25rem;
  opacity:0;
  transition:opacity .2s ease;
}
.rodape__cta-capsula:hover .rodape__cta-btn__texto,
.rodape__cta-capsula:focus-within .rodape__cta-btn__texto{
  opacity:1;
  transition:opacity .3s ease .15s;
}
@media (prefers-reduced-motion:reduce){
  .rodape__cta-capsula{transition:none}
}

@media (hover:none),(pointer:coarse){
  .rodape__cta-capsula{width:16.75rem;border-color:var(--acento)}
  .rodape__cta-btn__texto{opacity:1}
}

@media (max-width:56.25rem){
  .rodape__grid{flex-direction:column;text-align:center}

  .rodape__cta{align-self:center;justify-content:center;flex:0 0 auto}
  .rodape__cta-capsula{width:16.75rem;border-color:var(--acento)}
  .rodape__cta-btn__texto{opacity:1}
  .rodape__marca-bloco{align-items:center}

  .rodape__meio{flex-direction:column;align-items:center;gap:2rem;margin-left:0}
  .rodape__redes{justify-content:center}

}

.pagina{
  position:relative;
  z-index:1;
  background:var(--fundo);
  margin-bottom:var(--gaveta-h);
}
.rodape-gaveta{
  position:fixed;
  inset:auto 0 0 0;
  z-index:0;
  height:var(--gaveta-h);
  background:var(--fundo);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1rem;
  overflow:hidden;
  text-align:center;

  padding:1.75rem var(--gutter) calc(1.75rem + env(safe-area-inset-bottom));
}
.rodape-gaveta img{

  box-sizing:content-box;
  height:3.5rem;
  width:3.5rem;
  padding:1rem;
  background:var(--fundo-3);
  object-fit:contain;
  margin-bottom:.75rem;
}
.rodape-gaveta__legal{
  margin:0;
  font-size:.8125rem;
  line-height:1.6;
  color:var(--texto-45);
}
.rodape-gaveta__legal a{
  color:var(--texto-45);
  text-decoration:none;
}
.rodape-gaveta__legal a:hover{color:var(--texto)}
.rodape-gaveta__legal a + a{margin-left:1.25rem}

@media (max-width:36rem){
  .rodape-gaveta img{height:2.75rem;width:2.75rem;padding:.75rem;margin-bottom:.5rem}
}

.cta-final{
  padding-block:4.5rem;
  background:var(--fundo-2);
  overflow:hidden;
  text-align:left;
}
.cta-final__inner{position:relative;z-index:1;max-width:34rem}
.cta-final h2{max-width:11ch}
.cta-final p{margin-top:1.25rem;font-size:var(--fs-lead);color:var(--texto-70)}
.cta-final__accoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

@media (max-width:40rem){
  .cta-final__accoes{justify-content:flex-end}
  .cta-final__accoes .btn{flex:1 1 100%}
}

.pagina-cabecalho{
  padding-top:calc(var(--nav-h) + 3.5rem);
  padding-bottom:2.5rem;
  background:var(--fundo);
}
.pagina-cabecalho .etiqueta{margin-bottom:1rem}
.pagina-cabecalho h1{font-size:clamp(2.5rem,6vw,4rem);max-width:20ch}
.pagina-cabecalho p{
  margin-top:1.25rem;max-width:34rem;
  font-size:var(--fs-lead);color:var(--texto-70);
}

.secao-cabecalho{padding-block:4rem 2.5rem}
.secao-cabecalho h2{margin-top:.75rem}
.secao-cabecalho h2:first-child{margin-top:0}
.secao-cabecalho__lead{margin-top:1rem;max-width:36rem;color:var(--texto-70);font-size:var(--fs-lead)}

.link-seta{
  display:inline-block;
  margin-top:1.25rem;
  font-weight:700;
  text-decoration:none;
  color:var(--texto);
  border-bottom:2px solid var(--linha-forte);
  padding-bottom:.125rem;
  transition:border-color .18s ease;
}
.link-seta:hover{border-color:var(--texto)}

.num{
  font-family:var(--mono);
  font-size:.875rem;
  font-weight:700;
  color:var(--texto-45);
}

.whatsapp-flutuante{
  position:fixed;
  bottom:calc(28px + env(safe-area-inset-bottom, 0px));
  right:28px;
  z-index:90;
  width:52px;height:52px;
  border-radius:50%;
  background:#25d366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 18px rgba(37,211,102,.35);
  transition:transform .2s ease, box-shadow .2s ease;
  text-decoration:none;
  color:#fff;
}
.whatsapp-flutuante:hover{
  transform:scale(1.1);
  box-shadow:0 6px 24px rgba(37,211,102,.5);
}

.whatsapp-flutuante svg{width:30px;height:30px;display:block}

#site-frame-lb{
  display:none;
  position:fixed;
  inset:0;
  z-index:9500;
  align-items:center;
  justify-content:center;
}
#site-frame-lb.open{display:flex}
#site-frame-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.88);
  cursor:pointer;
}
#site-frame-panel{
  position:relative;
  z-index:1;
  width:90vw;
  max-width:1100px;
  max-height:90vh;
  display:flex;
  flex-direction:column;
  background:#0e0e0e;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 32px 100px rgba(0,0,0,.8);
  animation:sfPanelIn .28s cubic-bezier(.23,1,.32,1);
}
@keyframes sfPanelIn{
  from{opacity:0;transform:scale(.95) translateY(12px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
#site-frame-bar{
  display:flex;
  align-items:center;
  gap:16px;
  padding:0 20px;
  height:48px;
  background:#0e0e0e;
  flex-shrink:0;
}
#site-frame-title{
  flex:1;
  font-family:var(--sans);
  font-size:12px;
  font-weight:400;
  color:rgba(255,255,255,.4);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background:#050505;
  border-radius:6px;
  padding:6px 12px;
}
#site-frame-external,
#site-frame-close{
  background:none;
  border:none;
  color:rgba(255,255,255,.35);
  font-size:18px;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  text-decoration:none;
  transition:color .15s;
  flex-shrink:0;
  padding:0;
}
#site-frame-external:hover,
#site-frame-close:hover{color:#fff}
#site-frame-body{
  overflow-y:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#000;
}

#site-frame-img{
  width:100%;
  height:auto;
  display:block;
  max-width:none;
  object-fit:contain;
}
#site-frame-panel{min-width:min(280px,90vw)}
@media (max-width:600px){
  #site-frame-panel{
    width:94vw;
    max-width:94vw;
    max-height:88svh;
    border-radius:12px;
  }
}

[data-galeria]{position:relative}
[data-galeria] img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:top center;
  opacity:0;
  transition:opacity .9s ease;
}
[data-galeria] img.is-atual,
html:not(.js) [data-galeria] img:first-child{opacity:1}

.campo{display:flex;flex-direction:column;gap:.5rem}
.campo--total{grid-column:1 / -1}
.campo label{
  font-family:var(--mono);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--texto-70);
}
.campo input,
.campo select,
.campo textarea{
  font-family:var(--sans);
  font-size:1rem;
  padding:.75rem .875rem;
  background:var(--fundo);
  border:2px solid var(--linha-forte);
  border-radius:var(--radio);
  color:var(--texto);
  transition:border-color .18s ease;
}
.campo input:focus,
.campo select:focus,
.campo textarea:focus{border-color:var(--acento);outline:none}
.campo textarea{resize:vertical;min-height:8rem}

.campo input.error,
.campo textarea.error{border-color:#B42318}
.campo input.error::placeholder,
.campo textarea.error::placeholder{color:#B42318;opacity:1}
.campo input::placeholder,
.campo textarea::placeholder{color:var(--texto-45)}

#quoteModal{
  position:fixed;inset:0;z-index:8000;
  display:flex;align-items:center;justify-content:center;
  padding:var(--gutter);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease, visibility .3s ease;
}
#quoteModal.open{opacity:1;visibility:visible;pointer-events:auto}
.qm-backdrop{position:absolute;inset:0;background:var(--scrim)}

.qm-panel{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 17.5rem;
  grid-template-areas:"cabecalho cabecalho" "form cartao";
  column-gap:2.5rem;
  align-items:center;
  width:100%;max-width:62rem;max-height:calc(100vh - 2 * var(--gutter));
  overflow-y:auto;
  background:var(--fundo);
  box-shadow:0 30px 60px -20px var(--sombra-forte);
  padding:2.5rem 2.5rem 2rem;
  transform:translateY(1.25rem);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
}
#quoteModal.open .qm-panel{transform:none}
.qm-panel > .qm-header{grid-area:cabecalho;align-self:start}
.qm-panel > .orcamento-form{grid-area:form}
.qm-panel > .contacto-direto{grid-area:cartao}

@media (min-width:62.0625rem){
  .qm-panel > .contacto-direto{align-self:start;margin-top:calc(.75rem * 1.55 + .5rem)}
}

@media (min-width:62.0625rem) and (min-height:38rem){
  .qm-panel{overflow:visible;max-height:none;padding:2rem 2.5rem 1.75rem}
  .qm-panel .qm-header{margin-bottom:1.25rem}
  .qm-panel .orcamento-form{gap:1rem 1.5rem}
  .qm-panel .campo textarea{min-height:5.5rem}
  .qm-panel .orcamento-form .qf-captcha{grid-column:1}
  .qm-panel .orcamento-form .btn{grid-column:2;align-self:center;margin-top:0}
  .qm-panel .form-feedback:empty{display:none}
}
@media (max-width:62rem){
  .qm-panel{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"cabecalho" "form" "cartao";
    max-width:38rem;
  }
  .qm-panel > .contacto-direto{margin-top:2rem}
}
@media (min-width:36.0625rem) and (max-width:62rem){
  .qm-panel > .contacto-direto{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:2rem}
  .qm-panel .contacto-direto__titulo{flex-basis:100%}
  .qm-panel .contacto-direto__link{padding:0}
}
.qm-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;
  margin-bottom:2rem;
}
.qm-header .etiqueta{display:block;margin-bottom:.625rem}
.qm-title{font-size:clamp(1.75rem,3.2vw,2.25rem)}
.qm-close{
  flex:none;
  width:2.75rem;height:2.75rem;margin:-.5rem -.75rem 0 0;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;padding:0;
  color:var(--texto-70);cursor:pointer;
  transition:color .18s ease;
}
.qm-close:hover{color:var(--texto)}
.qm-close svg{width:1.25rem;height:1.25rem}
.orcamento-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.25rem 1.5rem;
}
.orcamento-form .campo--total,
.orcamento-form .qf-captcha,
.orcamento-form .form-feedback{grid-column:1 / -1}
.orcamento-form .btn{grid-column:1 / -1;justify-self:start;margin-top:.25rem}
.orcamento-form .btn:disabled{opacity:.5;cursor:not-allowed}
.form-feedback{margin:0;font-size:.9375rem;color:var(--texto-70);min-height:1.4em}
.form-feedback.success{color:#1E7A46}
.form-feedback.error{color:#B42318}
.qf-captcha:empty{display:none}
@media (max-width:36rem){
  .qm-panel{padding:1.75rem 1.25rem 1.5rem}
  .orcamento-form{grid-template-columns:1fr}
}

.contacto-direto{
  display:flex;flex-direction:column;gap:.25rem;
  padding:1.5rem;
  background:var(--fundo-2);
  border:1px solid var(--linha);
}
.contacto-direto__titulo{font-weight:900;font-size:1.125rem;line-height:1.25;margin-bottom:.75rem}
.contacto-direto__link{
  display:flex;align-items:center;gap:.875rem;
  padding:.625rem 0;
  text-decoration:none;
  color:var(--texto);
  font-weight:700;
  transition:color .18s ease;
}
.contacto-direto__link:hover{color:var(--texto-70)}
.contacto-direto__link > svg{flex:none;width:1.375rem;height:1.375rem}
.contacto-direto__link > span{display:flex;flex-direction:column;line-height:1.3}
.contacto-direto__link .etiqueta{font-size:.6875rem}

.cta-final--uma-linha .cta-final__inner{max-width:none}
.cta-final--uma-linha h2{max-width:none}
@media (min-width:48rem){
  .cta-final--uma-linha h2{white-space:nowrap}
}

.pagina-cabecalho--centro{text-align:center}
.pagina-cabecalho--centro h1,
.pagina-cabecalho--centro p{margin-inline:auto}

@media (pointer:coarse){
  .marca{padding:.25rem;margin:-.25rem}
  .rodape__coluna a{display:inline-block;padding-block:.5rem;margin-block:-.5rem}
  .rodape__redes a{padding:.5rem;margin:-.5rem}
  .link-seta{padding-top:.625rem;margin-top:.625rem}
  .rodape-gaveta__legal a{display:inline-block;padding-block:.5rem}
}

@media (max-width:36rem){
  :root{--gaveta-h:15.5rem}
  .rodape-gaveta{gap:.5rem}
  .rodape-gaveta__legal a{display:block;padding-block:.375rem}
  .rodape-gaveta__legal a + a{margin-left:0}
  .rodape-gaveta__legal br{display:none}
  .rodape-gaveta__legal{padding-bottom:.25rem}
}
@media (max-width:40rem){
  [data-formulario] button[type="submit"]{width:100%}
}

.loader{display:none}
.com-loader .loader{
  display:block;
  position:fixed;
  inset:0;
  z-index:9600;
  background:var(--fundo);
  overflow:hidden;
  transition:opacity .6s ease, visibility 0s linear .6s;
}
.loader.loader--escondido{opacity:0;visibility:hidden;pointer-events:none}
.loader__titulo{
  position:absolute;
  left:50%;top:48%;
  transform:translate(-50%,-50%);
  margin:0;
  font-family:var(--serif);
  font-weight:500;
  font-size:56px;
  letter-spacing:-.01em;
  line-height:1;
  white-space:nowrap;
  color:var(--texto);
  opacity:0;
  animation:loader-titulo-in .9s ease forwards .5s, loader-titulo-out .9s ease forwards 2.4s;
}
.loader__logo{
  position:absolute;
  left:50%;top:48%;
  transform:translate(-50%,-50%);
  width:140px;
  height:auto;
  opacity:0;
  animation:loader-logo-in .9s ease forwards 3.3s, loader-logo-out .9s ease forwards 5.7s;
}
.loader__pular{
  position:absolute;
  left:50%;
  bottom:10%;
  transform:translateX(-50%);
  background:none;
  border:1px solid transparent;
  padding:.5rem 1.125rem;
  cursor:pointer;
  font-family:var(--sans);
  font-size:16px;
  letter-spacing:.02em;
  color:var(--texto);
  transition:border-color .18s ease;
  animation:loader-pular-out .9s ease forwards 5.7s;
}
.loader__pular:hover,
.loader__pular:focus-visible{border-color:var(--texto);outline:none}
@keyframes loader-titulo-in  { from{opacity:0} to{opacity:1} }
@keyframes loader-titulo-out { from{opacity:1} to{opacity:0} }
@keyframes loader-logo-in    { from{opacity:0} to{opacity:1} }
@keyframes loader-logo-out   { from{opacity:1} to{opacity:0} }
@keyframes loader-pular-out  { from{opacity:1} to{opacity:0} }

@media (max-width:40rem){
  .link-seta{display:block;width:fit-content;margin-left:auto}
  .montra__offline{text-align:right}
  .servico-detalhe__corpo .btn{display:flex;width:fit-content;margin-left:auto}
  .erro-404__accoes{display:flex;flex-wrap:wrap;gap:.75rem}
  .erro-404__accoes .btn{flex:1 1 100%}
}

.desfoque-fundo{
  position:fixed;left:0;right:0;bottom:0;
  height:4rem;
  z-index:80;
  pointer-events:none;
  transition:opacity .4s ease;
}
.desfoque-fundo.is-escondido{opacity:0}

.desfoque-fundo.sobre-video{opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s}
.desfoque-fundo > div{position:absolute;inset:0}
.desfoque-fundo > div:nth-child(1){-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);
  -webkit-mask:linear-gradient(to bottom,#0000 0%,#000 12.5%,#000 25%,#0000 37.5%);mask:linear-gradient(to bottom,#0000 0%,#000 12.5%,#000 25%,#0000 37.5%)}
.desfoque-fundo > div:nth-child(2){-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);
  -webkit-mask:linear-gradient(to bottom,#0000 12.5%,#000 25%,#000 37.5%,#0000 50%);mask:linear-gradient(to bottom,#0000 12.5%,#000 25%,#000 37.5%,#0000 50%)}
.desfoque-fundo > div:nth-child(3){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  -webkit-mask:linear-gradient(to bottom,#0000 25%,#000 37.5%,#000 50%,#0000 62.5%);mask:linear-gradient(to bottom,#0000 25%,#000 37.5%,#000 50%,#0000 62.5%)}
.desfoque-fundo > div:nth-child(4){-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  -webkit-mask:linear-gradient(to bottom,#0000 37.5%,#000 50%,#000 62.5%,#0000 75%);mask:linear-gradient(to bottom,#0000 37.5%,#000 50%,#000 62.5%,#0000 75%)}
.desfoque-fundo > div:nth-child(5){-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  -webkit-mask:linear-gradient(to bottom,#0000 50%,#000 62.5%,#000 75%,#0000 87.5%);mask:linear-gradient(to bottom,#0000 50%,#000 62.5%,#000 75%,#0000 87.5%)}
.desfoque-fundo > div:nth-child(6){-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  -webkit-mask:linear-gradient(to bottom,#0000 62.5%,#000 75%,#000 87.5%,#0000 100%);mask:linear-gradient(to bottom,#0000 62.5%,#000 75%,#000 87.5%,#0000 100%)}
.desfoque-fundo > div:nth-child(7){-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);
  -webkit-mask:linear-gradient(to bottom,#0000 75%,#000 87.5%);mask:linear-gradient(to bottom,#0000 75%,#000 87.5%)}

@media (max-width:40rem),(pointer:coarse){
  .desfoque-fundo{height:3rem}
  .desfoque-fundo > div:nth-child(n+3){display:none}
  .desfoque-fundo > div:nth-child(1){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
    -webkit-mask:linear-gradient(to bottom,#0000 0%,#000 35%,#000 55%,#0000 80%);mask:linear-gradient(to bottom,#0000 0%,#000 35%,#000 55%,#0000 80%)}
  .desfoque-fundo > div:nth-child(2){-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    -webkit-mask:linear-gradient(to bottom,#0000 45%,#000 85%);mask:linear-gradient(to bottom,#0000 45%,#000 85%)}
}

.nav--sobre-foto:not(.is-fixa) img.marca__simbolo{filter:invert(1);transition:filter .25s ease}
body.menu-aberto .nav--sobre-foto:not(.is-fixa) img.marca__simbolo{filter:none}

.idioma{position:relative;margin-left:-.75rem}
.idioma__atual{
  list-style:none;
  display:inline-flex;align-items:center;gap:.375rem;
  padding:.6875rem .75rem;
  border:1px solid var(--linha-forte);
  font-family:var(--sans);font-size:.875rem;font-weight:700;line-height:1.2;
  letter-spacing:.02em;
  color:var(--texto);
  cursor:pointer;
  user-select:none;
  transition:border-color .18s ease, background-color .18s ease, color .18s ease;
}
.idioma__atual::-webkit-details-marker{display:none}
.idioma__atual:hover{border-color:var(--texto)}
.idioma__atual:focus-visible{outline:2px solid var(--texto);outline-offset:2px}
.idioma__seta{width:.875rem;height:.875rem;transition:transform .2s ease}
.idioma[open] .idioma__seta{transform:rotate(180deg)}
.idioma__lista{
  position:absolute;right:0;top:calc(100% + .375rem);
  min-width:10rem;
  margin:0;padding:.25rem 0;list-style:none;
  background:var(--fundo);
  border:1px solid var(--linha);
  box-shadow:0 10px 28px rgba(21,23,26,.1);
  z-index:5;
}
.idioma__lista a{
  display:flex;align-items:center;gap:.75rem;
  padding:.625rem .875rem;
  color:var(--texto);text-decoration:none;font-size:.9375rem;
}
.idioma__lista a span{font-family:var(--mono);font-size:.75rem;color:var(--texto-45);min-width:1.25rem}
.idioma__lista a:hover{background:rgba(var(--texto-rgb),.05)}
.idioma__lista a[aria-current="true"]{font-weight:700}

@media (min-width:60.0625rem){
  .nav--sobre-foto:not(.is-fixa) .idioma__atual{color:#fff;border-color:rgba(255,255,255,.7)}
  .nav--sobre-foto:not(.is-fixa) .idioma__atual:hover{border-color:#fff;background:rgba(255,255,255,.12)}
}

@media (max-width:60rem){
  .nav__direita{flex-direction:row;align-items:stretch;gap:.75rem}
  .nav__painel .nav__direita .btn{flex:1;width:auto;margin-top:0}
  .idioma{margin-left:0;display:flex}
  .idioma__atual{height:100%;color:var(--texto);border-color:var(--linha-forte);background:transparent}
  .idioma__lista{top:auto;bottom:calc(100% + .375rem)}
}

.pagina .cta-final__inner,
.pagina .cta-final h2,
.pagina .pagina-cabecalho h1,
.pagina .pagina-cabecalho p,
.pagina .secao-cabecalho__lead,
.pagina .contacto-cabecalho p,
.pagina .hero__texto h1,
.pagina .hero__lead,
.pagina .projeto__info p,
.pagina .erro-404 h1,
.pagina .erro-404 p,
.pagina .modelo-cartao p,
.pagina .servico-detalhe__corpo p,
.pagina .lista-entregaveis{max-width:none}
h1,h2,h3,.qm-title{text-wrap:balance}
p,li{text-wrap:pretty}

.anima-entrada .nav .marca,
.anima-entrada .nav__nome,
.anima-entrada .nav__links li,
.anima-entrada .nav__direita > *,
.anima-entrada .nav__toggle,
.anima-entrada .hero__texto h1,
.anima-entrada .hero__lead,
.anima-entrada .hero__accoes,
.anima-entrada .pagina-cabecalho > .container > *,
.anima-entrada .contacto-info > *,
.anima-entrada .contacto-form,
.anima-entrada .erro-404 .container > *,
.anima-entrada .whatsapp-flutuante{opacity:0}
.anima-entrada .nav__links-marcador{opacity:0 !important}
.troca-cai{animation:troca-cai .8s cubic-bezier(.22,1,.36,1) both}
.troca-sobe{animation:troca-sobe .9s cubic-bezier(.22,1,.36,1) both}
.troca-entra{animation:troca-entra .9s cubic-bezier(.22,1,.36,1) both}

@keyframes troca-cai{from{opacity:0;translate:0 -3.25rem}to{opacity:1;translate:0 0}}
@keyframes troca-sobe{from{opacity:0;translate:0 1.75rem}to{opacity:1;translate:0 0}}
@keyframes troca-entra{from{opacity:0;translate:6rem 0}to{opacity:1;translate:0 0}}

@keyframes troca-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .troca-cai,.troca-sobe,.troca-entra{animation-name:troca-fade}
}

.nav__direita{align-items:stretch}
.idioma{display:flex}
.idioma__atual{height:100%;box-sizing:border-box;padding-top:0;padding-bottom:0}

.pagina .revela{
  opacity:0;translate:0 1.75rem;
  transition:opacity .9s cubic-bezier(.22,1,.36,1), translate .9s cubic-bezier(.22,1,.36,1);
}
.pagina .revela.revelado{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){
  .pagina .revela{translate:none}
}

.a-trocar body{visibility:hidden}

.nav.is-escura{background:rgba(0,0,0,.5)}

@media (min-width:60.0625rem){
  .nav.is-escura{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
}

@media (min-width:60.0625rem){

  :root{--moldura:.5rem;--moldura-raio:clamp(10px,.9vw,14px)}
  body::after{
    content:"";
    position:fixed;inset:var(--moldura);
    border-radius:var(--moldura-raio);
    box-shadow:0 0 0 40px #fff;

    border:1px solid rgba(var(--texto-rgb),.14);
    pointer-events:none;
    z-index:9990;
  }

  .nav{inset:var(--moldura) var(--moldura) auto var(--moldura)}
  .nav.is-escondida{transform:translateY(calc(-100% - var(--moldura)))}
  .whatsapp-flutuante{right:calc(28px + var(--moldura));bottom:calc(28px + var(--moldura))}
  .desfoque-fundo{left:var(--moldura);right:var(--moldura);bottom:var(--moldura)}
  .rodape-gaveta{inset:auto var(--moldura) var(--moldura) var(--moldura)}
  .pagina{margin-bottom:calc(var(--gaveta-h) + var(--moldura))}
}

html{-webkit-tap-highlight-color:transparent}
