:root{
  --sapo-bg:#f4ecd9;
  --sapo-panel:#fff8eb;
  --sapo-text:#35372f;
  --sapo-dark:#181816;
  --sapo-green:#355329;
  --sapo-rust:#b74a21;
  --sapo-line:#d6c4a5;
}

body.theme-sapo{
  background:var(--sapo-bg);
  color:var(--sapo-text);
  font-family:'Nunito Sans',sans-serif;
}
body.theme-sapo main{background:transparent}
body.theme-sapo section,
body.theme-sapo .sapo-bridge{max-width:1240px;margin-inline:auto}
body.theme-sapo nav{background:rgba(244,236,217,.96);border-bottom:1px solid var(--sapo-line)}
body.theme-sapo .nav-brand strong{font-family:'Lora',serif;color:var(--sapo-green)}
body.theme-sapo .nav-cta{background:var(--sapo-rust)!important;border-radius:3px}
body.theme-sapo .version-switch{background:var(--sapo-dark);color:#fff8eb;border-color:var(--sapo-dark)}
body.theme-sapo .version-switch-dot{background:var(--sapo-rust)}

/* Estrutura estável: imagem 1/3, conteúdo 2/3. */
body.theme-sapo .split{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(0,2fr);
  gap:clamp(1.5rem,3vw,3rem);
  align-items:center;
}
body.theme-sapo .split--image-right{
  grid-template-columns:minmax(0,2fr) minmax(220px,1fr);
}
body.theme-sapo .split--align-start{align-items:start}
body.theme-sapo .split-copy{min-width:0}
body.theme-sapo .split-media{
  margin:0;
  width:100%;
  max-width:280px;
  justify-self:center;
}
body.theme-sapo .split-media img,
body.theme-sapo .split-media figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
body.theme-sapo .split-media--portrait{max-width:300px;align-self:start}
body.theme-sapo .split-media--scene{max-width:380px}
body.theme-sapo .media-scene{width:100%;margin:0}
body.theme-sapo .split-media--coffee{max-width:330px}

body.theme-sapo .sapo-hero{
  padding:7rem 5vw 3.5rem;
  min-height:720px;
  align-items:center;
}
body.theme-sapo .hero-media{max-width:500px}
body.theme-sapo .hero-duo{
  display:grid;
  grid-template-columns:44% 56%;
  align-items:end;
  gap:0;
  overflow:visible;
}
body.theme-sapo .hero-duo img{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  object-fit:contain;
}
body.theme-sapo .hero-duo-sapo{
  transform:translateX(8%) scale(.94);
  transform-origin:bottom right;
}
body.theme-sapo .hero-duo-adriano{
  transform:translateX(-3%);
  transform-origin:bottom left;
}
body.theme-sapo .hero-tag{
  display:inline-flex;align-items:center;gap:.7rem;
  color:var(--sapo-green);font-weight:800;letter-spacing:.02em;margin-bottom:1.15rem;
}
body.theme-sapo .hero-tag::before{content:'';width:38px;height:3px;background:var(--sapo-rust)}
body.theme-sapo .hero-copy h1{
  font-family:'Lora',serif;
  font-size:clamp(3.1rem,5.7vw,5.2rem);
  line-height:.98;
  color:var(--sapo-green);
  margin:0 0 1.15rem;
}
body.theme-sapo .hero-copy h1 em{font-style:normal;color:var(--sapo-rust)}
body.theme-sapo .hero-positioning{
  font-family:'Lora',serif;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.25;
  color:var(--sapo-dark);margin:0 0 1rem;
}
body.theme-sapo .hero-description{max-width:62ch;font-size:1.06rem;line-height:1.85;margin:0}
body.theme-sapo .hero-btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.65rem}
body.theme-sapo .btn-solid,
body.theme-sapo .btn-outline,
body.theme-sapo .btn-verde{border-radius:3px;text-transform:none;letter-spacing:.01em;font-weight:800}
body.theme-sapo .btn-solid{background:var(--sapo-rust)}
body.theme-sapo .btn-outline{border-color:var(--sapo-dark);color:var(--sapo-dark)}

body.theme-sapo .sapo-bridge{
  display:block;
  box-sizing:border-box;
  width:calc(100% - 10vw);
  max-width:1120px;
  margin:0 auto 1.25rem;
  padding:1.35rem clamp(1.25rem,3vw,2.15rem);
  background:var(--sapo-rust);
  border:1px solid rgba(86,39,22,.22);
  border-radius:14px;
  box-shadow:0 12px 28px rgba(86,39,22,.12);
}
body.theme-sapo .sapo-bridge p{
  margin:0;
  padding:0;
  border:0;
  font-family:'Lora',serif;
  font-size:clamp(1.08rem,1.5vw,1.28rem);
  line-height:1.62;
  color:#fff8eb;
}
body.theme-sapo .sapo-bridge strong{color:#fff8eb}

body.theme-sapo .sapo-section{padding:4.6rem 5vw 1.5rem;border-top:1px solid rgba(53,83,41,.12)}
body.theme-sapo .sec-tag{
  color:var(--sapo-rust);font-weight:900;text-transform:uppercase;letter-spacing:.08em;
  font-size:.78rem;margin-bottom:.65rem;
}
body.theme-sapo h2{
  font-family:'Lora',serif;font-size:clamp(2rem,3.7vw,3.15rem);line-height:1.08;
  color:var(--sapo-green);margin:0 0 1.5rem;
}
body.theme-sapo h2 em{color:var(--sapo-rust)}
body.theme-sapo .sapo-inline-note,
body.theme-sapo .sapo-section-note{
  font-family:'Lora',serif;color:var(--sapo-rust);font-size:1.12rem;line-height:1.65;
}
body.theme-sapo .sapo-inline-note{margin:0 0 1rem}
body.theme-sapo .sapo-section-note{margin:1rem 0 2rem}
body.theme-sapo .section-lead,
body.theme-sapo .sobre-text p,
body.theme-sapo .contato-left>p{font-size:1.02rem;line-height:1.85}
body.theme-sapo .sobre-text p{margin-bottom:1rem}

body.theme-sapo .timeline{margin-top:2rem}
body.theme-sapo .tl-item{padding-bottom:1.45rem}
body.theme-sapo .tl-item h3{font-family:'Lora',serif;color:var(--sapo-dark);font-size:1.02rem}
body.theme-sapo .tl-item p{color:var(--sapo-text)}
body.theme-sapo .tl-year{color:var(--sapo-rust);font-weight:800}
body.theme-sapo .tl-dot{background:var(--sapo-rust);border-color:var(--sapo-bg);outline-color:var(--sapo-rust)}
body.theme-sapo .tl-item:not(:last-child) .tl-dot-wrap::after{background:rgba(183,74,33,.28)}

/* Boxes: estilo editorial anterior, com contraste garantido. */
body.theme-sapo .sapo-mini-card,
body.theme-sapo .serv-card,
body.theme-sapo .faq-list,
body.theme-sapo .blog-card,
body.theme-sapo .contato-box,
body.theme-sapo .foto-item{
  background:var(--sapo-panel);
  color:var(--sapo-dark);
  border:2px solid var(--sapo-dark);
  border-radius:2px;
  box-shadow:7px 7px 0 rgba(24,24,22,.12);
}
body.theme-sapo .sapo-mini-card h3,
body.theme-sapo .serv-card h3,
body.theme-sapo .blog-card h3,
body.theme-sapo .contato-box h3{font-family:'Lora',serif;color:var(--sapo-dark)}
body.theme-sapo .sapo-mini-card p,
body.theme-sapo .serv-card p,
body.theme-sapo .blog-card p,
body.theme-sapo .contato-box p{color:var(--sapo-text);opacity:1}
body.theme-sapo .sapo-approach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
body.theme-sapo .sapo-mini-card{padding:1.15rem}
body.theme-sapo .sapo-mini-card h3{font-size:1.08rem;margin-bottom:.45rem}
body.theme-sapo .sapo-mini-card p{font-size:.94rem;line-height:1.7}

body.theme-sapo .sapo-section--photos{padding-bottom:3rem}
body.theme-sapo .galeria-grid{margin-top:1.2rem}
body.theme-sapo .foto-item{overflow:hidden}
body.theme-sapo .foto-legenda{background:var(--sapo-panel);color:var(--sapo-dark)}

body.theme-sapo .sapo-topics-list ul{list-style:none;display:grid;gap:.8rem;padding:0;margin:0}
body.theme-sapo .sapo-topics-list li{position:relative;padding-left:1.55rem;font-size:1.05rem;font-weight:800;color:var(--sapo-dark)}
body.theme-sapo .sapo-topics-list li::before{content:'●';position:absolute;left:0;top:-.04rem;color:var(--sapo-rust)}
body.theme-sapo .serv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.5rem}
body.theme-sapo .serv-card{padding:1.25rem}
body.theme-sapo .serv-card h3{font-size:1.16rem;margin-bottom:.55rem}
body.theme-sapo .serv-card p{font-size:.95rem;line-height:1.72}
body.theme-sapo .serv-tag{
  display:inline-block;margin-top:.85rem;padding:.3rem .65rem;
  color:var(--sapo-dark);background:#eee2ce;border:1px solid rgba(24,24,22,.25);
  font-size:.78rem;font-weight:900;border-radius:2px;
}

body.theme-sapo .faq-cta{margin:1rem 0 1.55rem}
body.theme-sapo .faq-list{padding:.35rem 1.15rem;max-width:none}
body.theme-sapo .faq-item{border-bottom:2px solid rgba(24,24,22,.12)}
body.theme-sapo .faq-q span{color:var(--sapo-dark);font-weight:800}
body.theme-sapo .faq-q .faq-icon{border:1px solid var(--sapo-dark)}
body.theme-sapo .faq-a p{color:var(--sapo-text)}

body.theme-sapo .blog-header{align-items:flex-start;gap:1rem}
body.theme-sapo .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
body.theme-sapo .blog-card{border-radius:2px}
body.theme-sapo .blog-faixa{height:56px;border-bottom:2px solid var(--sapo-dark)}
body.theme-sapo .blog-meta{padding:1.1rem}
body.theme-sapo .blog-card h3{font-size:1.02rem;line-height:1.35}
body.theme-sapo .blog-link{white-space:nowrap}

body.theme-sapo .sapo-section--contact{
  background:var(--sapo-rust);color:#fff8eb;max-width:none;padding-bottom:4rem;
}
body.theme-sapo .sapo-section--contact>.split{max-width:1240px;margin-inline:auto}
body.theme-sapo #contato h2,
body.theme-sapo #contato h2 em,
body.theme-sapo #contato .sec-tag,
body.theme-sapo #contato .contato-left>p,
body.theme-sapo #contato .cstep-text h3,
body.theme-sapo #contato .cstep-text p{color:#fff8eb}
body.theme-sapo #contato .cstep-num{border-color:#fff8eb;color:#fff8eb}
body.theme-sapo .booking-split{margin-top:3rem!important;align-items:center}
body.theme-sapo .contato-box{padding:1.4rem}
body.theme-sapo .contato-box h3{font-size:1.35rem;margin-bottom:.65rem}
body.theme-sapo .btn-verde{background:var(--sapo-green)}
body.theme-sapo #contato .link-verde{color:var(--sapo-green)}

body.theme-sapo footer{border-top:2px solid var(--sapo-dark)}

@media(max-width:980px){
  body.theme-sapo .split,
  body.theme-sapo .split--image-right{gap:1.5rem;grid-template-columns:minmax(180px,1fr) minmax(0,2fr)}
  body.theme-sapo .split--image-right{grid-template-columns:minmax(0,2fr) minmax(180px,1fr)}
  body.theme-sapo .split-media{max-width:240px}
  body.theme-sapo .hero-media{max-width:340px}
  body.theme-sapo .split-media--scene{max-width:330px}
  body.theme-sapo .serv-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:780px){
  body.theme-sapo .split,
  body.theme-sapo .split--image-right{
    grid-template-columns:1fr;
    gap:1.25rem;
  }
  body.theme-sapo .split--image-left .split-media{order:0}
  body.theme-sapo .split--image-left .split-copy{order:1}
  body.theme-sapo .split--image-right .split-copy{order:0}
  body.theme-sapo .split--image-right .split-media{order:1}
  body.theme-sapo .split-media,
  body.theme-sapo .split-media--portrait,
  body.theme-sapo .split-media--scene,
  body.theme-sapo .split-media--coffee{max-width:230px;justify-self:start}
  body.theme-sapo .hero-media{max-width:300px;justify-self:center}
  body.theme-sapo .sapo-hero{padding-top:6.2rem;min-height:auto}
  body.theme-sapo .sapo-approach-grid{grid-template-columns:1fr}
  body.theme-sapo .serv-grid{grid-template-columns:1fr}
  body.theme-sapo .blog-grid{grid-template-columns:1fr}
  body.theme-sapo .galeria-grid{grid-template-columns:1fr}
}

@media(max-width:600px){
  body.theme-sapo .sapo-hero,
  body.theme-sapo .sapo-section,
  body.theme-sapo .sapo-bridge{padding-left:6vw;padding-right:6vw}
  body.theme-sapo .hero-copy h1{font-size:clamp(2.55rem,13vw,3.35rem)}
  body.theme-sapo .hero-positioning{font-size:1.25rem}
  body.theme-sapo .hero-description,
  body.theme-sapo .section-lead,
  body.theme-sapo .sobre-text p,
  body.theme-sapo .contato-left>p{font-size:1rem;line-height:1.78}
  body.theme-sapo .sapo-inline-note,
  body.theme-sapo .sapo-section-note{font-size:1.02rem}
  body.theme-sapo .faq-list{padding:.2rem .8rem}
}

/* Regras finais de especificidade: impedem conflitos com o CSS do site principal. */
body.theme-sapo #hero{
  grid-template-columns:minmax(0,2fr) minmax(220px,1fr);
}
body.theme-sapo #sobre h2{color:#fff8eb}
body.theme-sapo #sobre h2 em{color:#8fb08b}
body.theme-sapo #sobre .sapo-inline-note{color:#ef7d58}
body.theme-sapo #sobre .sobre-text p{color:#dce4db}
body.theme-sapo #sobre .sobre-text strong{color:#fff8eb}
body.theme-sapo #sobre .tl-item h3{color:#fff8eb}
body.theme-sapo #sobre .tl-item p{color:#bdcabc}
body.theme-sapo #sobre .tl-year{color:#ef7d58}

@media(max-width:980px){
  body.theme-sapo #hero{
    grid-template-columns:minmax(0,2fr) minmax(180px,1fr);
  }
}
@media(max-width:780px){
  body.theme-sapo #hero{grid-template-columns:1fr}
}

/* Ajustes finais 2: cabeçalho seguro, trajetória separada e alternância corrigida. */
body.theme-sapo #hero.sapo-hero{
  padding-top:8rem !important;
  scroll-margin-top:88px;
}
body.theme-sapo .sapo-section{
  scroll-margin-top:88px;
}
body.theme-sapo #sobre .split-media--portrait{
  max-width:250px;
}
body.theme-sapo #sobre .split-media--portrait img{
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.18));
}
body.theme-sapo #trajetoria .split-media--trajectory{
  max-width:330px;
  align-self:center;
}
body.theme-sapo #trajetoria .timeline{
  margin-top:.75rem;
}
body.theme-sapo #blog .split-media{
  max-width:220px;
  align-self:start;
}
body.theme-sapo .booking-split .split-media--coffee{
  max-width:360px;
}
body.theme-sapo .booking-split .contato-box{
  align-self:center;
}

@media(max-width:780px){
  body.theme-sapo #hero.sapo-hero{
    padding-top:7.4rem !important;
  }
  body.theme-sapo #sobre .split-media--portrait,
  body.theme-sapo #trajetoria .split-media--trajectory,
  body.theme-sapo #blog .split-media,
  body.theme-sapo .booking-split .split-media--coffee{
    max-width:230px;
  }
}

/* Refinamento visual após avaliação: hero inicia logo abaixo do cabeçalho. */
body.theme-sapo #hero.sapo-hero{
  min-height:auto !important;
  padding-top:8rem !important;
  padding-bottom:4rem !important;
}

/* Ajustes do pacote 2026-08-01: hero em arquivos independentes e caixa de princípio. */
@media(max-width:780px){
  body.theme-sapo .hero-duo{max-width:360px;grid-template-columns:43% 57%;justify-self:center}
  body.theme-sapo .sapo-bridge{width:calc(100% - 12vw);margin-bottom:.5rem}
}


/* Reorganização editorial: seções de processo, princípios e textos independentes. */
body.theme-sapo .sapo-section--how{
  padding-bottom:4rem;
}
body.theme-sapo .sapo-section--how .split{
  align-items:center;
}
body.theme-sapo .split-media--how{
  max-width:430px;
}
body.theme-sapo .split-media--how img{
  width:100%;
  height:auto;
}

body.theme-sapo .sapo-section--principles{
  padding-top:4.25rem;
  padding-bottom:4.75rem;
  background:rgba(255,248,235,.42);
}
body.theme-sapo .principles-head{
  width:100%;
  margin-bottom:clamp(2.25rem,4vw,3.5rem);
}
body.theme-sapo .principles-head h2{
  max-width:none;
  margin-bottom:1rem;
}
body.theme-sapo .principles-lead{
  max-width:72ch;
  margin:0;
  font-size:clamp(1rem,1.3vw,1.12rem);
  line-height:1.75;
  color:var(--sapo-text);
}
body.theme-sapo .principles-stage{
  display:grid;
  grid-template-columns:minmax(230px,1fr) minmax(270px,360px) minmax(230px,1fr);
  gap:clamp(1rem,2.4vw,2rem);
  align-items:center;
}
body.theme-sapo .principles-stack{
  display:grid;
  gap:1.25rem;
  align-content:center;
}
body.theme-sapo .principles-media{
  width:100%;
  max-width:360px;
  margin:0;
  justify-self:center;
  align-self:center;
}
body.theme-sapo .principles-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
}
body.theme-sapo .principles-stage .sapo-mini-card{
  min-height:100%;
  padding:1.45rem 1.4rem;
}
body.theme-sapo .principles-stage .sapo-mini-card h3{
  margin-bottom:.55rem;
}
body.theme-sapo .principles-stage .sapo-mini-card p{
  margin:0;
}

body.theme-sapo .sapo-section--blog-intro{
  padding-bottom:3.5rem;
}
body.theme-sapo .sapo-section--blog-intro .split{
  align-items:center;
}
body.theme-sapo .split-media--blog{
  max-width:260px;
}
body.theme-sapo .blog-link--intro{
  display:inline-flex;
  margin-top:.3rem;
  font-weight:900;
}
body.theme-sapo .sapo-section--articles{
  padding-top:3.8rem;
  padding-bottom:4.5rem;
  background:rgba(255,248,235,.42);
}
body.theme-sapo .blog-grid--four{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
body.theme-sapo .blog-card--text-only{
  display:flex;
  min-height:100%;
  text-decoration:none;
}
body.theme-sapo .blog-card--text-only .blog-meta{
  display:flex;
  flex-direction:column;
  width:100%;
  padding:1.25rem;
}
body.theme-sapo .blog-card--text-only h3{
  font-size:1.02rem;
  line-height:1.42;
  margin:.45rem 0 .7rem;
}
body.theme-sapo .blog-card--text-only p{
  flex:1;
  font-size:.92rem;
  line-height:1.68;
}
body.theme-sapo .blog-card--text-only .blog-date{
  display:block;
  margin-top:1rem;
}
body.theme-sapo .sapo-section--articles .blog-note{
  margin-top:1.5rem;
}

@media(max-width:980px){
  body.theme-sapo .principles-stage{
    grid-template-columns:minmax(190px,1fr) minmax(210px,270px) minmax(190px,1fr);
    gap:clamp(.75rem,1.8vw,1.25rem);
  }
  body.theme-sapo .principles-media{max-width:270px}
  body.theme-sapo .principles-stage .sapo-mini-card{
    padding:1.15rem 1.1rem;
  }
  body.theme-sapo .principles-stage .sapo-mini-card h3{
    font-size:clamp(1rem,1.8vw,1.16rem);
  }
  body.theme-sapo .principles-stage .sapo-mini-card p{
    font-size:clamp(.88rem,1.45vw,.98rem);
    line-height:1.55;
  }
  body.theme-sapo .blog-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  body.theme-sapo .principles-stage{
    grid-template-columns:1fr;
    grid-template-areas:
      "left"
      "image"
      "right";
    gap:1.35rem;
  }
  body.theme-sapo .principles-stack--left{grid-area:left}
  body.theme-sapo .principles-media{grid-area:image}
  body.theme-sapo .principles-stack--right{grid-area:right}
  body.theme-sapo .principles-stack{
    grid-template-columns:1fr;
    gap:1rem;
  }
  body.theme-sapo .principles-media{
    width:min(82vw,380px);
    max-width:none;
    justify-self:center;
    margin:.5rem 0;
  }
  body.theme-sapo .principles-stage .sapo-mini-card{
    padding:1.35rem 1.25rem;
  }
  body.theme-sapo .blog-grid--four{grid-template-columns:1fr}
  body.theme-sapo .split-media--how,
  body.theme-sapo .split-media--blog{max-width:230px}
}


/* Atualização 2026-08-01: serviços clicáveis, CTA depois da sanfona e projetos. */
body.theme-sapo .serv-tag-link{
  text-decoration:none;
  cursor:pointer;
  transition:background .2s,transform .2s,box-shadow .2s;
}
body.theme-sapo .serv-tag-link:hover,
body.theme-sapo .serv-tag-link:focus-visible{
  background:var(--sapo-rust);
  color:#fff8eb;
  transform:translateY(-1px);
  box-shadow:0 0 0 3px rgba(183,74,33,.18);
  outline:none;
}
body.theme-sapo .faq-action{margin-top:1.5rem}
body.theme-sapo .faq-action .faq-cta{margin:0}

body.theme-sapo .sapo-section--projects{
  padding-top:4.5rem;
  padding-bottom:4.5rem;
  background:rgba(255,248,235,.42);
}
body.theme-sapo .projects-layout{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(240px,.85fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
body.theme-sapo .projects-media{
  width:100%;
  max-width:320px;
  margin:0;
  justify-self:end;
}
body.theme-sapo .projects-media img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
body.theme-sapo .projects-copy{min-width:0}
body.theme-sapo .projects-copy h2{max-width:24ch}
body.theme-sapo .projects-grid--sapo{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
body.theme-sapo .project-card{
  background:var(--sapo-panel);
  color:var(--sapo-text);
  border:2px solid var(--sapo-dark);
  border-top:6px solid var(--sapo-green);
  border-radius:2px;
  box-shadow:7px 7px 0 rgba(24,24,22,.12);
}
body.theme-sapo .project-card--care{border-top-color:var(--sapo-rust)}
body.theme-sapo .project-kind,
body.theme-sapo .project-link{color:var(--sapo-green)}
body.theme-sapo .project-card--care .project-kind,
body.theme-sapo .project-card--care .project-link{color:var(--sapo-rust)}
body.theme-sapo .project-card h3{color:var(--sapo-dark)}
body.theme-sapo .project-card p{color:var(--sapo-text)}
body.theme-sapo .projects-all{text-align:left}
body.theme-sapo .projects-all a{color:var(--sapo-green);font-weight:900}

@media(max-width:980px){
  body.theme-sapo .projects-layout{grid-template-columns:minmax(0,1.65fr) minmax(210px,.75fr);gap:2rem}
  body.theme-sapo .projects-media{max-width:250px;justify-self:end}
}
@media(max-width:780px){
  body.theme-sapo .projects-layout{grid-template-columns:1fr;gap:1.5rem}
  body.theme-sapo .projects-media{max-width:190px;justify-self:start}
  body.theme-sapo .projects-grid--sapo{grid-template-columns:1fr}
  body.theme-sapo .faq-action .btn-solid{width:100%;text-align:center}
}


body.theme-sapo .footer-frog{
  display:inline-block;
  width:2.1em;
  height:2.1em;
  object-fit:contain;
  vertical-align:-0.62em;
  margin-right:.28em;
}


/* Hero unificado: sapo e Adriano em uma única imagem transparente. */
body.theme-sapo #hero.sapo-hero{
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:clamp(2rem,4vw,4.5rem);
}
body.theme-sapo #hero .hero-media.hero-combined{
  width:100%;
  max-width:570px;
  justify-self:center;
  margin:0;
}
body.theme-sapo #hero .hero-combined img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

@media(max-width:980px){
  body.theme-sapo #hero.sapo-hero{
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
    gap:2rem;
  }
  body.theme-sapo #hero .hero-media.hero-combined{max-width:480px}
}

@media(max-width:780px){
  body.theme-sapo #hero.sapo-hero{
    display:grid;
    grid-template-columns:1fr;
    gap:1.35rem;
    padding-top:6.9rem !important;
  }
  body.theme-sapo #hero .hero-media.hero-combined{
    order:-1;
    width:min(100%,520px);
    max-width:520px;
    justify-self:center;
    margin:0 auto .35rem;
  }
  body.theme-sapo #hero .hero-copy{order:1}
}

@media(max-width:480px){
  body.theme-sapo #hero .hero-media.hero-combined{
    width:100%;
    max-width:410px;
  }
}


/* Contato: abertura com imagem significativa e fechamento leve. */
body.theme-sapo .sapo-section--contact{
  background:var(--sapo-rust);color:#fff8eb;max-width:none;padding-bottom:3.2rem;
}
body.theme-sapo .sapo-section--contact .contact-hero-media,
body.theme-sapo .sapo-section--contact .contact-main-grid,
body.theme-sapo .sapo-section--contact .contact-closing{
  max-width:1240px;
  margin-inline:auto;
}
body.theme-sapo .contact-hero-media{margin-bottom:2.1rem}
body.theme-sapo .contact-hero-figure{margin:0}
body.theme-sapo .contact-hero-figure img{
  display:block;
  width:min(100%,760px);
  height:auto;
  margin-inline:auto;
}
body.theme-sapo .contact-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);
  gap:clamp(1.2rem,3vw,2rem);
  align-items:start;
}
body.theme-sapo .contact-closing{
  display:flex;
  justify-content:center;
  margin-top:1.35rem;
}
body.theme-sapo .contact-closing img{
  display:block;
  width:min(118px,28vw);
  height:auto;
  opacity:.96;
}
@media(max-width:980px){
  body.theme-sapo .contact-main-grid{
    grid-template-columns:1fr;
  }
  body.theme-sapo .contact-hero-figure img{
    width:min(100%,620px);
  }
}
@media(max-width:780px){
  body.theme-sapo .contact-hero-media{margin-bottom:1.5rem}
  body.theme-sapo .contact-hero-figure img{
    width:min(100%,520px);
  }
  body.theme-sapo .contact-closing{
    margin-top:1rem;
  }
  body.theme-sapo .contact-closing img{
    width:min(92px,24vw);
  }
}


/* Mobile editorial: cada seção ilustrada começa pela imagem. */
@media(max-width:780px){
  /* Hero: imagem unificada antes da apresentação textual. */
  body.theme-sapo #hero.sapo-hero{
    display:flex !important;
    flex-direction:column !important;
  }
  body.theme-sapo #hero .hero-media{
    order:-1 !important;
    width:100%;
    max-width:560px;
    margin:0 auto 1.4rem;
  }
  body.theme-sapo #hero .hero-copy{order:0}

  /* Seções divididas: ilustração primeiro, texto depois. */
  body.theme-sapo #sobre .split,
  body.theme-sapo #trajetoria .split,
  body.theme-sapo #abordagens .split,
  body.theme-sapo #servicos>.split,
  body.theme-sapo #faq .split,
  body.theme-sapo #blog .split{
    display:flex !important;
    flex-direction:column !important;
  }
  body.theme-sapo #sobre .split-media,
  body.theme-sapo #trajetoria .split-media,
  body.theme-sapo #abordagens .split-media,
  body.theme-sapo #servicos>.split>.split-media,
  body.theme-sapo #faq .split-media,
  body.theme-sapo #blog .split-media{
    order:-1 !important;
    align-self:center;
    margin:0 auto 1.35rem;
  }
  body.theme-sapo #sobre .split-copy,
  body.theme-sapo #trajetoria .split-copy,
  body.theme-sapo #abordagens .split-copy,
  body.theme-sapo #servicos>.split>.split-copy,
  body.theme-sapo #faq .split-copy,
  body.theme-sapo #blog .split-copy{
    order:0 !important;
  }

  /* Presenças: uma fotografia abre a seção; as demais continuam após o texto. */
  body.theme-sapo #midia{
    display:flex;
    flex-direction:column;
  }
  body.theme-sapo #midia .galeria-grid{display:contents}
  body.theme-sapo #midia .foto-item:first-child{
    order:-1;
    width:100%;
    max-width:560px;
    margin:0 auto 1.5rem;
  }
  body.theme-sapo #midia>.sec-tag{order:0}
  body.theme-sapo #midia>h2{order:1}
  body.theme-sapo #midia>.sapo-section-note{order:2}
  body.theme-sapo #midia .foto-item:nth-child(2){order:3;margin-top:1.25rem}
  body.theme-sapo #midia .foto-item:nth-child(3){order:4;margin-top:1rem}

  /* Na prática: sapo primeiro, depois abertura e, por fim, as quatro caixas. */
  body.theme-sapo .sapo-section--principles{
    display:flex;
    flex-direction:column;
  }
  body.theme-sapo .sapo-section--principles .principles-stage{display:contents}
  body.theme-sapo .sapo-section--principles .principles-media{
    order:-2;
    width:100%;
    max-width:420px;
    margin:0 auto 1.4rem;
  }
  body.theme-sapo .sapo-section--principles .principles-head{order:-1}
  body.theme-sapo .sapo-section--principles .principles-stack--left{order:0}
  body.theme-sapo .sapo-section--principles .principles-stack--right{order:1}

  /* Formação e projetos: Adriano abre a seção no celular. */
  body.theme-sapo .projects-layout{
    display:flex !important;
    flex-direction:column !important;
  }
  body.theme-sapo .projects-media{
    order:-1 !important;
    width:100%;
    max-width:280px;
    margin:0 auto 1.45rem;
    align-self:center;
  }
  body.theme-sapo .projects-copy{order:0 !important}

  /* Contato já foi refeito com imagem de abertura; mantemos sua precedência. */
  body.theme-sapo .contact-hero-media{order:-1}
}


/* Menu responsivo: hambúrguer no mobile/tablet; navegação original no desktop. */
body.theme-sapo .mobile-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:10px;
  border:2px solid var(--sapo-dark);
  border-radius:3px;
  background:var(--sapo-panel);
  color:var(--sapo-dark);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
body.theme-sapo .mobile-menu-toggle span{
  display:block;
  width:21px;
  height:2px;
  background:currentColor;
  border-radius:999px;
  transition:transform .22s ease,opacity .18s ease;
  transform-origin:center;
}
body.theme-sapo .mobile-menu-toggle:focus-visible{
  outline:3px solid var(--sapo-rust);
  outline-offset:3px;
}

@media(max-width:960px){
  body.theme-sapo #navbar{
    position:fixed;
    isolation:isolate;
  }
  body.theme-sapo .mobile-menu-toggle{
    display:flex;
    position:relative;
    z-index:2;
    flex:0 0 auto;
  }
  body.theme-sapo #navbar .nav-links{
    display:flex;
    position:absolute;
    z-index:1;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    padding:.65rem 5vw 1rem;
    background:rgba(244,236,217,.99);
    border-bottom:2px solid var(--sapo-line);
    box-shadow:0 14px 24px rgba(24,24,22,.13);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  }
  body.theme-sapo #navbar .nav-links li{
    width:100%;
    border-bottom:1px solid rgba(24,24,22,.12);
  }
  body.theme-sapo #navbar .nav-links li:last-child{
    border-bottom:0;
    padding-top:.55rem;
  }
  body.theme-sapo #navbar .nav-links a{
    display:block;
    width:100%;
    padding:.82rem .15rem;
    font-size:.94rem;
    color:var(--sapo-dark);
  }
  body.theme-sapo #navbar .nav-links .nav-cta{
    padding:.78rem 1rem;
    text-align:center;
    color:#fff8eb!important;
  }
  body.theme-sapo #navbar.menu-open .nav-links{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  body.theme-sapo #navbar.menu-open .mobile-menu-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  body.theme-sapo #navbar.menu-open .mobile-menu-toggle span:nth-child(2){
    opacity:0;
  }
  body.theme-sapo #navbar.menu-open .mobile-menu-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
}

@media(max-width:420px){
  body.theme-sapo .nav-brand strong{font-size:1rem}
  body.theme-sapo .nav-brand span{font-size:.61rem;letter-spacing:.07em}
  body.theme-sapo .mobile-menu-toggle{width:42px;height:42px}
}
