/* ==========================================================================
   Padroes de seccao das paginas internas.
   Reproduzem o vocabulario visual do site original.
   ========================================================================== */

/* Paginas que trazem o proprio hero: sem folga no topo, sem coluna estreita */
.entry-full{padding:0 0 0}
.entry-full > .wrap{max-width:none;padding:0}
.entry-full > .wrap > *:last-child{margin-bottom:0}

/* Faz uma seccao sangrar para fora da coluna de texto do .entry.
   100vw inclui a barra de scroll vertical, por isso descontamos a diferenca
   entre a viewport e a largura real disponivel. */
.entry .fullbleed{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* Nas paginas sem cabecalho o contentor ja e de largura total:
   aqui o truque do vw nao e preciso e so criava overflow horizontal. */
.entry-full .fullbleed{
  width:auto;
  margin-left:0;
  margin-right:0;
}

.entry .fullbleed > .inner{max-width:1160px;margin:0 auto;padding:0 24px}

/* --------------------------------------------------------------------------
   1. Hero com fotografia
   -------------------------------------------------------------------------- */
.hero-photo{position:relative;min-height:72vh;display:flex;align-items:flex-end;
  overflow:hidden;color:#fff;margin-bottom:0}
.hero-photo img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(33,73,152,.55) 0%,rgba(33,73,152,.15) 40%,rgba(28,24,56,.72) 100%)}
.hero-photo .inner{position:relative;z-index:2;padding-top:180px;padding-bottom:56px;
  max-width:1160px;margin:0 auto;width:100%}
.hero-photo h1{font-size:clamp(2.2rem,5vw,4rem);margin:0;color:#fff}
.hero-photo .sub{font-family:var(--display);font-size:clamp(1.3rem,2.6vw,2rem);
  margin:.1em 0 .7em;opacity:.96}
.hero-photo p{max-width:760px;font-size:16.5px;color:rgba(255,255,255,.92);margin:0}

/* --------------------------------------------------------------------------
   2. Cartoes com medalha dourada
   -------------------------------------------------------------------------- */
.cards-icon{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;
  padding:104px 0 84px}
.cards-icon .card-i{position:relative;border:1px solid #e3e0ea;background:#fff;
  border-radius:2px;padding:74px 30px 38px;text-align:center}
.cards-icon .card-i::before{content:"";position:absolute;top:-46px;left:50%;
  transform:translateX(-50%);width:92px;height:92px;border-radius:50%;
  background:var(--gold)}
.cards-icon .card-i h3{font-size:1.12rem;margin:0 0 .9em;color:var(--ink)}
.cards-icon .card-i p{font-size:15px;color:var(--muted);margin:0;line-height:1.75}
.cards-icon .card-i a{color:var(--muted);border-bottom:1px solid rgba(96,96,96,.4)}
.cards-icon .card-i a:hover{color:var(--gold);border-color:var(--gold)}

/* --------------------------------------------------------------------------
   3. Narrativa centrada com curva decorativa
   -------------------------------------------------------------------------- */
.sec-story{position:relative;background:#fafafa;padding:92px 0;overflow:hidden}
.sec-story::before,.sec-story::after{content:"";position:absolute;
  width:640px;height:640px;border:1px dashed #d8d2e4;border-radius:50%;
  pointer-events:none}
.sec-story::before{top:-260px;right:-200px}
.sec-story::after{bottom:-320px;left:-240px}
.sec-story .inner{position:relative;z-index:2;max-width:900px;margin:0 auto;
  padding:0 24px;text-align:center}
.sec-story h2{color:var(--lav-deep);font-size:clamp(1.7rem,3.4vw,2.5rem);
  margin-bottom:1.1em}
.sec-story p{font-size:16px;color:#444;line-height:1.85;margin:0 0 1.5em}

/* Linha de remate centrada */
.sec-note{background:#fafafa;padding:0 0 70px;text-align:center}
.sec-note p{font-size:17px;color:var(--ink);margin:0}

/* --------------------------------------------------------------------------
   4. Foto + texto
   -------------------------------------------------------------------------- */
.sec-split2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
  gap:70px;align-items:center;padding:90px 0}
.sec-split2 img{width:100%;max-height:520px;object-fit:cover;border-radius:2px}
.sec-split2 h2{color:var(--lav-deep);font-size:clamp(1.6rem,3.2vw,2.3rem)}
.sec-split2 p{color:#444;font-size:16px;line-height:1.8}

/* --------------------------------------------------------------------------
   5. Diagnostico -> Resolucao
   -------------------------------------------------------------------------- */
.diag-res{display:grid;grid-template-columns:1fr 84px 1fr;align-items:center;
  gap:0;padding:20px 0 90px}
.diag-res .panel{padding:38px 34px;text-align:center;align-self:stretch;
  display:flex;flex-direction:column;justify-content:center}
.diag-res .panel h3{font-size:1.15rem;margin:0 0 1em;color:var(--ink)}
.diag-res .panel p{font-size:14.5px;line-height:1.8;color:#444;margin:0}
.diag-res .panel.is-gold{background:#EBC474}
.diag-res .arrow{display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:34px;line-height:1}

/* --------------------------------------------------------------------------
   6. Faixa azul com citacao
   -------------------------------------------------------------------------- */
.band-blue{background:var(--blue);color:#fff;padding:56px 0}
.band-blue .inner{max-width:960px;margin:0 auto;padding:0 24px;text-align:center}
.band-blue p{margin:0;font-style:italic;font-size:17px;line-height:1.7;
  color:#fff}

/* --------------------------------------------------------------------------
   7. Carrossel (scroll-snap, sem JS)
   -------------------------------------------------------------------------- */
.band-lav{background:var(--lav);padding:64px 0 72px}
.slides{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:0 max(24px,calc(50% - 470px)) 22px;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.6) transparent}
.slides::-webkit-scrollbar{height:6px}
.slides::-webkit-scrollbar-thumb{background:rgba(255,255,255,.6);border-radius:99px}
.slides .slide{flex:0 0 min(940px,86vw);scroll-snap-align:center;background:#fff;
  padding:48px 56px;display:flex;flex-direction:column;justify-content:center;
  min-height:190px;text-align:center}
.slides .slide h3{font-size:clamp(1.4rem,3vw,2rem);margin:0;color:var(--ink);
  font-weight:400}
.slides .slide p{font-size:15.5px;line-height:1.85;color:#444;margin:0 0 1.1em}
.slides .slide p:last-child{margin-bottom:0}
.slides-hint{text-align:center;color:rgba(255,255,255,.85);font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;margin:0}

/* --------------------------------------------------------------------------
   8. Faixa a dois: painel lilas + painel branco
   -------------------------------------------------------------------------- */
.band-duo{display:grid;grid-template-columns:1fr 1fr}
.band-duo .side{padding:74px 58px}
.band-duo .side.is-lav{background:#9F8BC4;color:#fff;text-align:center}
.band-duo .side.is-lav p{color:#fff;font-size:15.5px;line-height:1.8;
  font-weight:600}
.band-duo .side.is-white{background:#fff}
.band-duo .side.is-white h3{font-size:1.1rem;margin:0 0 1.2em}
.band-duo .side.is-white p{font-size:14.5px;line-height:1.8;color:#444}

/* --------------------------------------------------------------------------
   9. Remate com botao
   -------------------------------------------------------------------------- */
.sec-cta{text-align:center;padding:64px 0 72px;background:#fff}
.sec-cta a{display:inline-block;padding:14px 34px;border:1px solid #cfcbd8;
  color:var(--ink);font-size:15px;border-radius:2px;background:#fff}
.sec-cta a:hover{border-color:var(--gold);color:var(--gold)}

/* --------------------------------------------------------------------------
   10. Hero: foto de fundo + painel translucido ao centro
   -------------------------------------------------------------------------- */
.hero-panel{position:relative;min-height:78vh;display:flex;align-items:center;
  justify-content:center;overflow:hidden;padding:150px 24px 70px}
.hero-panel img.bg{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;filter:blur(3px) saturate(.9);transform:scale(1.04)}
.hero-panel::after{content:"";position:absolute;inset:0;background:rgba(30,40,30,.28)}
.hero-panel .panel{position:relative;z-index:2;background:rgba(28,63,140,.86);
  color:#fff;max-width:760px;padding:56px 54px;text-align:center}
.hero-panel h1{color:#fff;font-size:clamp(1.9rem,4.4vw,3.1rem);margin:0 0 .7em}
.hero-panel p{color:rgba(255,255,255,.95);font-size:16px;line-height:1.75;
  margin:0 0 1em;font-weight:600}
.hero-panel p:last-child{margin-bottom:0}

/* --------------------------------------------------------------------------
   11. Composicao sobreposta: foto + painel branco sobre fundo fotografico
   -------------------------------------------------------------------------- */
.overlap{position:relative;padding:90px 0;overflow:hidden}
.overlap img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.overlap::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.12)}
.overlap .inner{position:relative;z-index:2;max-width:1160px;margin:0 auto;
  padding:0 24px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);
  align-items:start}
.overlap .shot{background:#E3C77E;padding:0}
.overlap .shot img{width:100%;height:100%;max-height:430px;object-fit:cover;
  display:block}
.overlap .copy{background:#fff;padding:44px 44px;margin-top:56px;
  margin-left:-40px;position:relative;z-index:3}
.overlap .copy p{font-size:15px;line-height:1.8;color:#333;margin:0 0 1.2em}
.overlap .copy p:last-child{margin-bottom:0}
.overlap .copy p.em{font-weight:600}

/* --------------------------------------------------------------------------
   12. Quatro colunas
   -------------------------------------------------------------------------- */
.sec-cols{background:#fff;padding:84px 0}
.sec-cols .inner{max-width:1160px;margin:0 auto;padding:0 24px}
.sec-cols h2{text-align:center;font-size:clamp(1.4rem,2.8vw,2.1rem);
  margin-bottom:1.6em;color:var(--ink)}
.cols4{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.cols4 h3{font-size:1.05rem;margin:0 0 .8em;text-align:center;color:var(--ink)}
.cols4 p{font-size:14px;line-height:1.75;color:#444;margin:0;text-align:center}

/* --------------------------------------------------------------------------
   13. Faixa lilas: foto + lista + botao
   -------------------------------------------------------------------------- */
.band-unlock{background:var(--lav);padding:78px 0}
.band-unlock .inner{max-width:1160px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:60px;
  align-items:start}
.band-unlock img{width:100%;max-height:560px;object-fit:cover}
.band-unlock h2{color:#fff;font-size:clamp(1.4rem,2.8vw,2rem);margin:0 0 1em;
  font-weight:600}
.band-unlock ul{list-style:disc;padding-left:1.2em;margin:0 0 2em}
.band-unlock li{color:#fff;font-size:15px;line-height:1.7;margin-bottom:1.1em}
.band-unlock .btn-gold2{display:inline-block;background:var(--bronze);color:#fff;
  padding:12px 30px;font-size:14px}
.band-unlock .btn-gold2:hover{background:var(--gold);color:#fff}

/* --------------------------------------------------------------------------
   14. Seccao branca centrada (Como funciona)
   -------------------------------------------------------------------------- */
.sec-plain{background:#fff;padding:80px 0}
.sec-plain .inner{max-width:820px;margin:0 auto;padding:0 24px;text-align:center}
.sec-plain h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:.7em}
.sec-plain h3{font-size:1.15rem;margin:0 0 1.6em;color:var(--ink)}
.sec-plain .schedule{text-align:left;display:inline-block;margin:0 auto 2em}
.sec-plain .schedule p{margin:0 0 .45em;font-size:14.5px;color:#333}
.sec-plain .note{font-size:14.5px;color:#444;line-height:1.8;text-align:left}

/* --------------------------------------------------------------------------
   15. Faixa de preco
   -------------------------------------------------------------------------- */
.band-price{background:var(--blue);color:#fff;padding:70px 0}
.band-price .inner{max-width:820px;margin:0 auto;padding:0 24px;text-align:center}
.band-price h2{color:#fff;font-size:1.4rem;margin:0 0 .3em}
.band-price .price{font-family:var(--display);font-size:clamp(2.6rem,6vw,3.6rem);
  margin:0 0 .5em;color:#fff}
.band-price p{color:#fff;font-size:14.5px;line-height:1.8;margin:0 0 .5em}
.band-price .vagas{display:inline-block;margin:2em 0 1.2em;font-weight:600;
  text-decoration:underline}
.band-price .terms{text-align:left;font-size:14px;margin-top:1.6em}
.band-price .terms p{margin-bottom:1.2em}

/* --------------------------------------------------------------------------
   16. Formulario sobre fotografia
   -------------------------------------------------------------------------- */
.form-photo{position:relative;padding:70px 0;overflow:hidden}
.form-photo img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.form-photo .inner{position:relative;z-index:2;max-width:1160px;margin:0 auto;
  padding:0 24px}
.form-photo .panel{background:#f0efef;max-width:520px;padding:46px 44px}
.form-photo h2{font-size:clamp(1.3rem,2.6vw,1.8rem);margin:0 0 1.3em;
  color:var(--ink)}
.form-photo label{display:block;font-size:13px;color:#555;margin-bottom:5px}
.form-photo .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-photo input,.form-photo textarea{width:100%;border:1px solid #c9c7c7;
  background:#fff;padding:9px 10px;font-family:var(--font);font-size:15px;
  margin-bottom:16px}
.form-photo input:focus,.form-photo textarea:focus{outline:0;border-color:var(--lav-deep)}
.form-photo textarea{min-height:92px;resize:vertical}
.form-photo button{width:100%;background:#9F8BC4;color:#fff;border:0;
  padding:12px;font-family:var(--font);font-size:15px;cursor:pointer}
.form-photo button:hover{background:var(--lav-deep)}

/* --------------------------------------------------------------------------
   17. Grelha de servicos (pagina Tratamentos)
   -------------------------------------------------------------------------- */
.svc-grid-sec{background:#fff;padding:80px 0}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:52px 46px;
  max-width:1160px;margin:0 auto;padding:0 24px}
.svc-grid .item{text-align:center;display:flex;flex-direction:column}
.svc-grid .item .thumb{aspect-ratio:1/1;overflow:hidden;margin-bottom:22px}
.svc-grid .item .thumb img{width:100%;height:100%;object-fit:cover;
  transition:transform .4s}
.svc-grid .item:hover .thumb img{transform:scale(1.04)}
.svc-grid .item h3{font-size:1.05rem;margin:0 0 .7em;color:var(--ink);
  font-weight:400;line-height:1.4}
.svc-grid .item h3 a{color:var(--ink);border-bottom:0}
.svc-grid .item h3 a:hover{color:var(--gold)}
.svc-grid .item p{font-size:14px;line-height:1.7;color:var(--lav-deep);
  margin:0 0 22px;flex:1}
.svc-grid .item .more{font-size:14px;color:var(--gold);
  border-bottom:1px solid rgba(218,165,57,.5);align-self:center}
.svc-grid .item .more:hover{color:var(--bronze);border-color:var(--bronze)}

/* --------------------------------------------------------------------------
   18. Pagina de canais (hub de links)
   -------------------------------------------------------------------------- */
.canais{background:#f0f0f0;min-height:100vh;padding:34px 0 60px}
.canais .inner{max-width:1080px;margin:0 auto;padding:0 24px}
.canais .topo{display:flex;align-items:center;gap:34px;margin-bottom:26px;
  flex-wrap:wrap}
.canais .topo img{width:120px}
.canais .topo p{margin:0;font-size:15.5px;color:var(--ink)}
.canais .cta{background:var(--blue);color:#fff;text-align:center;
  padding:54px 30px;margin-bottom:26px}
.canais .cta h2{color:#fff;font-size:clamp(1.2rem,2.6vw,1.7rem);margin:0 0 1.3em}
.canais .cta a{display:inline-block;border:1px solid rgba(255,255,255,.85);
  color:#fff;padding:12px 28px;font-size:14.5px}
.canais .cta a:hover{background:#fff;color:var(--blue)}
.canais .tiles2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.canais .tiles2 a{display:block;overflow:hidden;background:#fff}
.canais .tiles2 img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.canais .tiles2 a:hover img{transform:scale(1.03)}

/* --------------------------------------------------------------------------
   19. Faixa de agradecimento
   -------------------------------------------------------------------------- */
.band-thanks{background:var(--lav);color:#fff;min-height:64vh;display:flex;
  align-items:center;justify-content:center;text-align:center;padding:120px 24px}
.band-thanks h1{color:#fff;font-size:clamp(2.2rem,5vw,3.6rem);margin:0 0 .3em}
.band-thanks p{color:#fff;font-size:18px;margin:0}

/* --------------------------------------------------------------------------
   20. Pagina legal (privacidade)
   -------------------------------------------------------------------------- */
.legal{background:var(--lav);color:#fff;padding:250px 24px 40px;text-align:center}
.legal h1{color:#fff;font-size:clamp(1.9rem,4.4vw,3rem);margin:0 0 .3em}
.legal .sub{color:rgba(255,255,255,.92);font-size:16px;margin:0}
.legal-body{background:var(--lav);padding:20px 0 90px}
.legal-body .inner{max-width:880px;margin:0 auto;padding:0 24px}
.legal-body p,.legal-body li{color:#fff;font-size:14.5px;line-height:1.85}
.legal-body h2,.legal-body h3,.legal-body h4{color:#fff}
.legal-body a{color:#fff;border-bottom:1px solid rgba(255,255,255,.5)}
.legal-body p.lead{color:#fff;font-size:15.5px}

/* --------------------------------------------------------------------------
   21. Indice do blog
   -------------------------------------------------------------------------- */
/* O cabecalho e absoluto e o logotipo tem ~172px: a folga do topo tem de o
   acomodar, senao o painel branco corta-o. */
.blog-index{background:var(--lav);padding:250px 0 90px;min-height:70vh}
.blog-index .inner{max-width:1040px;margin:0 auto;padding:0 24px}
.blog-index .board{background:#fff;padding:0}
.blog-index .filters{display:flex;align-items:center;gap:30px;flex-wrap:wrap;
  padding:22px 32px;border-bottom:1px solid #eee}
.blog-index .filters a{font-size:15px;color:var(--muted);border-bottom:0}
.blog-index .filters a:hover,.blog-index .filters a.is-on{color:var(--ink)}
.blog-index .filters form{margin-left:auto;display:flex;align-items:center;gap:8px;
  border:1px solid #e2e2e2;border-radius:3px;padding:7px 12px}
.blog-index .filters input{border:0;outline:0;font-family:var(--font);font-size:14px;
  width:170px;background:transparent}
.blog-index .item{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);
  gap:32px;padding:30px 32px;border-bottom:1px solid #eee;align-items:start}
.blog-index .item:last-child{border-bottom:0}
/* Artigo sem miniatura: o texto ocupa a linha toda */
.blog-index .item:not(:has(.thumb)){grid-template-columns:1fr}
.blog-index .item .thumb{aspect-ratio:16/10;overflow:hidden;background:#f2f2f2}
.blog-index .item .thumb img{width:100%;height:100%;object-fit:cover}
.blog-index .item .meta{font-size:12.5px;color:#999;margin:0 0 .8em}
.blog-index .item h2{font-size:1.3rem;margin:0 0 .5em}
.blog-index .item h2 a{color:var(--ink);border-bottom:0}
.blog-index .item h2 a:hover{color:var(--gold)}
.blog-index .item p.exc{font-size:14.5px;color:var(--muted);line-height:1.7;margin:0}
.blog-index .empty{padding:60px 32px;text-align:center;color:var(--muted)}

/* --------------------------------------------------------------------------
   Responsivo
   -------------------------------------------------------------------------- */
@media(max-width:1024px){
  .svc-grid{grid-template-columns:repeat(2,1fr);gap:44px 34px}
  .cols4{grid-template-columns:repeat(2,1fr);gap:30px}
  .overlap .inner{grid-template-columns:1fr;gap:0}
  .overlap .copy{margin-left:0;margin-top:-30px;padding:34px 30px}
  .overlap .shot img{max-height:340px}
  .band-unlock .inner{grid-template-columns:1fr;gap:34px}
  .band-unlock img{max-height:340px}
  .cards-icon{grid-template-columns:1fr;gap:70px;padding:96px 0 70px}
  .sec-split2{grid-template-columns:1fr;gap:36px;padding:64px 0}
  .diag-res{grid-template-columns:1fr;gap:0}
  .diag-res .arrow{transform:rotate(90deg);padding:18px 0}
  .band-duo{grid-template-columns:1fr}
  .band-duo .side{padding:52px 30px}
}
@media(max-width:820px){
  .blog-index{padding:120px 0 60px}
  .blog-index .item{grid-template-columns:1fr;gap:16px;padding:22px}
  .blog-index .filters{padding:16px 22px;gap:18px}
  .blog-index .filters form{margin-left:0;width:100%}
  .canais .tiles2{grid-template-columns:1fr}
  .legal{padding:130px 20px 30px}
  .svc-grid{grid-template-columns:1fr;gap:40px}
  .cols4{grid-template-columns:1fr;gap:36px}
  .hero-panel{min-height:auto;padding:130px 20px 56px}
  .hero-panel .panel{padding:36px 26px}
  .form-photo .panel{max-width:none;padding:34px 26px}
  .form-photo .row{grid-template-columns:1fr;gap:0}
  .band-price .terms{font-size:13.5px}
  .hero-photo{min-height:60vh}
  .hero-photo .inner{padding-top:150px;padding-bottom:40px}
  .sec-story{padding:64px 0}
  .sec-story::before,.sec-story::after{display:none}
  .slides .slide{padding:34px 26px;flex-basis:88vw}
}
