@font-face{font-family:Manrope;src:url('../assets/manrope-normal-400.ttf')}@font-face{font-family:Manrope;src:url('../assets/manrope-normal-800.ttf');font-weight:800}@font-face{font-family:'DM Serif Display';src:url('../assets/serif-normal-400.ttf')}*{box-sizing:border-box}body{margin:0;background:#fbf9f0;color:#243d32;font:16px/1.75 Manrope,Arial,sans-serif}.page{width:min(960px,calc(100% - 40px));margin:auto}.page-header{padding:28px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe3d4}.logo{display:inline-flex;align-items:center}.logo-image{width:150px;height:auto;display:block}.back{color:#6c7242;font-weight:800;text-decoration:none}.content{padding:80px 0}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:800;color:#6c7242}.content h1{font:400 clamp(42px,7vw,72px)/1.08 'DM Serif Display',serif;letter-spacing:-1px;margin:14px 0 28px}.content h2{font-size:25px;margin-top:44px}.content p{max-width:760px;color:#68746a}.content ul{padding-left:22px}.content li{margin:10px 0}.cta{display:inline-flex;margin-top:30px;padding:14px 22px;background:#6c7242;color:#fffdf6;text-decoration:none;border-radius:7px;font-weight:800}.footer{padding:25px 0 45px;border-top:1px solid #dfe3d4;color:#68746a;font-size:13px}@media(max-width:600px){.page{width:min(100% - 28px,960px)}.page-header{padding:18px 0}.content{padding:52px 0}.content h1{font-size:48px}.back{font-size:14px}.logo-image{width:126px}}
 .work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:36px 0}.work-card{margin:0;overflow:hidden;border-radius:8px;background:#fff}.work-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:transform .35s ease}.work-card:hover img{transform:scale(1.045)}.work-card figcaption{padding:10px 12px;color:#243d32;font-size:13px;font-weight:800}@media(max-width:700px){.work-grid{grid-template-columns:repeat(2,1fr);gap:10px}.work-card figcaption{font-size:12px;padding:8px}}

.portfolio-group{margin-top:48px}.portfolio-group h3{margin:0 0 16px;color:#243d32;font-size:20px;letter-spacing:-.02em}.gallery-open{display:block;width:100%;padding:0;border:0;border-radius:8px;overflow:hidden;background:#fff;color:inherit;text-align:left;font:inherit;cursor:zoom-in}.gallery-open:focus-visible{outline:3px solid #6c7242;outline-offset:4px}.gallery-open img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .55s ease}.work-card:hover .gallery-open img{transform:scale(1.035)}.work-caption{display:block;padding:10px 12px 12px;color:#243d32;font-size:13px;font-weight:800;line-height:1.45}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:28px;background:#15241eee}.lightbox-backdrop{position:absolute;inset:0}.lightbox-dialog{position:relative;z-index:1;width:min(1100px,100%);max-height:100%;display:grid;grid-template-columns:56px minmax(0,1fr) 56px;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:'previous figure next' '. counter .';align-items:center;gap:12px}.lightbox-figure{grid-area:figure;min-width:0;max-height:calc(100vh - 95px);margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox-figure img{display:block;max-width:100%;max-height:calc(100vh - 145px);width:auto;height:auto;object-fit:contain;box-shadow:0 18px 55px #0005}.lightbox-figure figcaption{margin-top:12px;color:#fffdf6;text-align:center;font-size:15px;line-height:1.45}.lightbox-close,.lightbox-nav{border:1px solid #ffffff55;color:#fffdf6;background:#243d32dd;cursor:pointer}.lightbox-close{position:absolute;z-index:2;top:-10px;right:-10px;width:42px;height:42px;border-radius:50%;font-size:28px;line-height:1}.lightbox-nav{width:50px;height:58px;border-radius:6px;font-size:42px;line-height:1}.lightbox-nav:hover,.lightbox-nav:focus-visible,.lightbox-close:hover,.lightbox-close:focus-visible{background:#6c7242}.lightbox-prev{grid-area:previous}.lightbox-next{grid-area:next}.lightbox-counter{grid-area:counter;margin:0;color:#fffdf6;text-align:center;font-size:13px}.lightbox-open{overflow:hidden}@media(max-width:700px){.portfolio-group{margin-top:38px}.portfolio-group h3{font-size:18px}.work-grid{grid-template-columns:repeat(2,1fr);gap:10px}.work-caption{padding:8px 9px 10px;font-size:12px}.lightbox{padding:18px 10px}.lightbox-dialog{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}.lightbox-close{top:-7px;right:-3px;width:38px;height:38px;font-size:25px}.lightbox-nav{width:36px;height:50px;font-size:34px}.lightbox-figure img{max-height:calc(100vh - 180px)}.lightbox-figure figcaption{font-size:13px}}

.portfolio-group-intro{margin-top:32px}.lightbox{padding:34px;background:rgba(16,29,22,.92);backdrop-filter:blur(10px)}.lightbox-dialog{width:min(1180px,100%);grid-template-columns:64px minmax(0,1fr) 64px;gap:16px}.lightbox-figure{padding:18px;background:#243d32;border:1px solid #ffffff2b;border-radius:14px;box-shadow:0 24px 70px #0006}.lightbox-figure img{max-height:calc(100vh - 190px);border-radius:8px;box-shadow:none}.lightbox-figure figcaption{max-width:80%;margin-top:14px;font-size:15px;font-weight:800}.lightbox-close,.lightbox-nav{display:grid;place-items:center;border:1px solid #ffffff55;background:#243d32ee;box-shadow:0 8px 24px #0004;transition:background .25s ease,transform .25s ease}.lightbox-close svg,.lightbox-nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lightbox-close{top:-16px;right:-16px;width:46px;height:46px;font-size:0}.lightbox-nav{width:54px;height:54px;border-radius:50%;font-size:0}.lightbox-nav:hover,.lightbox-nav:focus-visible,.lightbox-close:hover,.lightbox-close:focus-visible{background:#6c7242;transform:scale(1.06)}.lightbox-counter{padding:6px 14px;border:1px solid #ffffff33;border-radius:999px;background:#243d32cc;font-size:12px;letter-spacing:.04em}.lightbox-open{padding-right:0}@media(max-width:700px){.lightbox{padding:18px 8px}.lightbox-dialog{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}.lightbox-figure{padding:10px;border-radius:10px}.lightbox-figure img{max-height:calc(100vh - 175px)}.lightbox-figure figcaption{max-width:100%;font-size:13px}.lightbox-close{top:-8px;right:-2px;width:40px;height:40px}.lightbox-nav{width:38px;height:38px}.lightbox-close svg,.lightbox-nav svg{width:20px;height:20px}}

.internal-page .site-header {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
}

.internal-page .header-inner,
.internal-page .site-footer .container {
  width: 100%;
  max-width: none;
}

.internal-page .header-inner {
  margin-inline: 0;
}

.internal-page .site-footer {
  margin-top: 0;
}

/* Header e rodapé das páginas internas, sem depender do CSS da home. */
.internal-page .site-header {
  position: relative;
  border-bottom: 1px solid #dfe3d4;
}

.internal-page .header-inner {
  width: 100%;
  max-width: none;
  min-height: 88px;
  margin: 0;
  padding: 16px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.internal-page .brand {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.internal-page .brand-logo {
  width: 150px;
  height: auto;
  display: block;
}

.internal-page .nav-wrap {
  display: flex;
  align-items: center;
  gap: 30px;
}

.internal-page .navigation {
  display: flex;
  align-items: center;
  gap: 24px;
}

.internal-page .navigation a {
  color: #6c7242;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none;
}

.internal-page .navigation a:hover {
  color: #243d32;
}

.internal-page .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 11px 16px;
  border: 0;
  border-radius: 7px;
  background: #6c7242;
  color: #fffdf6;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.internal-page .button:hover {
  background: #243d32;
}

.internal-page .header-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.internal-page .menu-toggle {
  display: none;
}

.internal-page .site-footer {
  padding: 35px 0 20px;
  border-top: 1px solid #dfe3d4;
  color: #68746a;
}

.internal-page .site-footer .container {
  width: 100%;
  max-width: none;
  margin: 0;
}

.internal-page .footer-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 25px;
}

.internal-page .footer-main p {
  margin: 0;
  font-size: 13px;
  color: #68746a;
}

.internal-page .footer-main small {
  font-size: 12px;
}

.internal-page .back-top {
  color: #6c7242;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.internal-page .footer-note {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 16px;
  border-top: 1px solid #dfe3d4;
  font-size: 11px;
}

.internal-page .mobile-contact {
  display: none;
}

@media (max-width: 850px) {
  .internal-page .header-inner {
    min-height: 74px;
    padding: 10px 0;
  }

  .internal-page .brand-logo {
    width: 126px;
  }

  .internal-page .menu-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 42px;
    height: 42px;
    margin-left: auto;
    border: 1px solid #6c7242;
    border-radius: 7px;
    background: transparent;
    color: #6c7242;
  }

  .internal-page .menu-toggle span {
    width: 19px;
    height: 1px;
    background: currentColor;
    transition: transform .2s ease;
  }

  .internal-page .menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(3.5px) rotate(45deg);
  }

  .internal-page .menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-3.5px) rotate(-45deg);
  }

  .internal-page .nav-wrap {
    display: none;
    position: absolute;
    z-index: 10;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 18px 20px 20px;
    background: #fbf9f0;
    box-shadow: 0 12px 20px #243d3220;
  }

  .internal-page .nav-wrap.is-open {
    display: flex;
  }

  .internal-page .navigation {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .internal-page .navigation a {
    padding: 11px 0;
    border-bottom: 1px solid #dfe3d4;
    font-size: 14px;
  }

  .internal-page .header-button {
    align-self: flex-start;
  }

  .internal-page .footer-main {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }

  .internal-page .footer-note {
    flex-direction: column;
    gap: 6px;
  }
}

.internal-page .icon-tabler {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

.internal-page .button .icon-tabler {
  width: 18px;
  height: 18px;
}

.internal-page .cta .icon-tabler {
  width: 18px;
  height: 18px;
  margin: 0;
}

.internal-page .back-top {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.internal-page .back-top .icon-tabler {
  width: 16px;
  height: 16px;
}

.internal-page .menu-icon {
  display: block;
  width: 22px;
  height: 22px;
  stroke-width: 2;
}

.internal-page .menu-icon-close {
  display: none;
}

.internal-page .menu-toggle[aria-expanded="true"] .menu-icon-menu {
  display: none;
}

.internal-page .menu-toggle[aria-expanded="true"] .menu-icon-close {
  display: block;
}

@media (max-width: 600px) {
  .internal-page {
    padding-bottom: 64px;
  }

  .internal-page .mobile-contact {
    position: fixed;
    z-index: 40;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 64px;
    padding: 14px 20px;
    background: #6c7242;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 -4px 15px #0001;
  }

  .internal-page .mobile-contact .icon-tabler {
    width: 20px;
    height: 20px;
  }
}

/* Botão flutuante de contato pelo WhatsApp. */
.internal-page .mobile-contact {
  position: fixed;
  z-index: 60;
  right: 22px;
  bottom: 22px;
  left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  min-height: 0;
  padding: 0;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  font-size: 0;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 22px #18312755;
  transition: transform .35s ease, box-shadow .35s ease, background-color .35s ease;
}

.internal-page .mobile-contact:hover,
.internal-page .mobile-contact:focus-visible {
  background: #1fba59;
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 12px 28px #18312766;
}

.internal-page .mobile-contact .icon-whatsapp {
  width: 30px;
  height: 30px;
  stroke-width: 1.8;
}

.internal-page .mobile-contact .icon-arrow-right {
  display: none;
}

@media (max-width: 600px) {
  .internal-page {
    padding-bottom: 0;
  }

  .internal-page .mobile-contact {
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom));
    width: 54px;
    height: 54px;
  }

  .internal-page .mobile-contact .icon-whatsapp {
    width: 28px;
    height: 28px;
  }
}

/* Mantém texto, seta e ícone alinhados dentro dos CTAs das páginas. */
.internal-page .button .icon-tabler {
  display: block;
  margin: 0;
}

.internal-page .cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  line-height: 1.35;
}

.internal-page .mobile-contact .icon-whatsapp {
  display: block;
  margin: 0;
}
