/* =========================================================
   CAMBRAIA ODONTOLOGIA — Landing Page  (v4)
   Réplica do Figma — PRINCIIPAL 1920 x 9119
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700&display=swap');

:root{
  --bege:#F7EEE4;
  --bege-claro:#FFF7EF;
  --bege-medio:#D7C8B1;
  --marrom:#7C5E3C;
  --marrom-esc:#4A3823;
  --dourado:#BEA682;
  --dourado-esc:#83672E;
  --borda:#DAC6A8;
  --texto:#555555;

  --grad:linear-gradient(90deg,var(--marrom) 0%,var(--dourado) 100%);
  --grad-claro:linear-gradient(100deg,#F3E9DA 0%,#DCCBAE 100%);

  --serif:"Times New Roman",Times,serif;
  --sans:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --container:1250px;
  --ease:cubic-bezier(.25,.8,.3,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bege);font-family:var(--sans);color:var(--texto);
     font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,p{margin:0;}
.container{width:var(--container);max-width:100%;margin-inline:auto;}

/* Acessibilidade: foco visível consistente */
a:focus-visible,button:focus-visible{outline:3px solid var(--marrom);outline-offset:3px;border-radius:4px;}
section:focus{outline:none;}
/* Reserva o espaço do menu fixo ao pular por âncora */
section[id],div[id]{scroll-margin-top:90px;}
.pular{position:absolute;left:-9999px;top:0;background:var(--marrom);color:#fff;
       padding:12px 20px;z-index:999;border-radius:0 0 6px 0;}
.pular:focus{left:0;}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* =========================================================
   ANIMAÇÕES DE ENTRADA  (compatíveis com Firefox e Safari)
   ========================================================= */
.rv{opacity:0;-webkit-transform:translateY(28px);transform:translateY(28px);
    -webkit-transition:opacity .85s var(--ease),-webkit-transform .85s var(--ease);
    transition:opacity .85s var(--ease),transform .85s var(--ease);
    will-change:opacity,transform;}
.rv.on{opacity:1;-webkit-transform:none;transform:none;}
html.sem-js .rv{opacity:1;-webkit-transform:none;transform:none;}

@-webkit-keyframes sobe{from{opacity:0;-webkit-transform:translateY(32px)}to{opacity:1;-webkit-transform:none}}
@keyframes sobe{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@-webkit-keyframes surge{from{opacity:0;-webkit-transform:scale(.95)}to{opacity:1;-webkit-transform:none}}
@keyframes surge{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}

.an{opacity:0;-webkit-animation:sobe .9s var(--ease) forwards;animation:sobe .9s var(--ease) forwards;}
.an-1{-webkit-animation-delay:.15s;animation-delay:.15s;}
.an-2{-webkit-animation-delay:.30s;animation-delay:.30s;}
.an-3{-webkit-animation-delay:.45s;animation-delay:.45s;}
.an-4{-webkit-animation-delay:.60s;animation-delay:.60s;}
.an-foto{opacity:0;-webkit-animation:surge 1.2s var(--ease) .2s forwards;
         animation:surge 1.2s var(--ease) .2s forwards;}

/* =========================================================
   COMPONENTES
   ========================================================= */
.badge{
  display:inline-grid;place-items:center;
  height:40px;padding-inline:28px;border-radius:20px;
  border:1px solid var(--dourado);background:var(--bege-claro);
  color:var(--dourado-esc);font-size:var(--fs-badge);letter-spacing:.11em;
  text-transform:uppercase;white-space:nowrap;
}

.btn{display:inline-block;padding:6px;border-radius:8px;
     border:1px solid var(--dourado);background:transparent;
     -webkit-transition:-webkit-transform .3s var(--ease);
     transition:transform .3s var(--ease);}
.btn span{
  display:grid;place-items:center;
  min-width:322px;height:57px;border-radius:6px;
  background:var(--grad);color:var(--bege);
  font-size:var(--fs-botao);letter-spacing:.13em;
  padding-inline:26px;text-transform:uppercase;
  -webkit-transition:-webkit-filter .3s var(--ease);transition:filter .3s var(--ease);
}
.btn:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);}
.btn:hover span{-webkit-filter:brightness(1.12);filter:brightness(1.12);}
.btn--claro{border-color:rgba(247,238,228,.5);}
.btn--claro span{background:var(--grad-claro);color:var(--marrom);}

.setas{display:flex;gap:9px;}
.setas button{width:48.5px;height:50px;border-radius:5px;border:0;cursor:pointer;
  display:grid;place-items:center;color:var(--marrom);background:var(--bege-medio);
  -webkit-transition:.25s var(--ease);transition:.25s var(--ease);}
.setas button:last-child{background:var(--dourado);color:#fff;}
.setas button:hover:not(:disabled){-webkit-transform:translateY(-2px);transform:translateY(-2px);}
.setas button:disabled{opacity:.4;cursor:default;}

/* =========================================================
   CABEÇALHO
   ========================================================= */
.topbar{height:47px;background:var(--bege-claro);display:flex;align-items:center;
        border-bottom:1px solid rgba(190,166,130,.3);}
.topbar .container{display:flex;align-items:center;justify-content:space-between;}
.topbar__end{display:flex;align-items:center;gap:8px;color:var(--marrom);font-size:var(--fs-topbar);}
.topbar__end svg{flex:none;}
.topbar__soc{display:flex;align-items:center;gap:16px;}
.topbar__soc a{display:grid;place-items:center;width:22px;height:22px;color:var(--marrom);
               -webkit-transition:.25s var(--ease);transition:.25s var(--ease);}
.topbar__soc a:hover{opacity:.65;-webkit-transform:translateY(-2px);transform:translateY(-2px);}

.navbar{position:-webkit-sticky;position:sticky;top:0;height:75px;background:#fff;
        box-shadow:0 3px 12px rgba(124,94,60,.07);z-index:50;}
.navbar::before{content:"";position:absolute;inset:0;background:url("img/textura.jpg") center/cover;
                opacity:.3;pointer-events:none;}
.navbar .container{position:relative;z-index:1;height:100%;display:flex;align-items:center;gap:24px;}
.navbar__logo{width:205px;height:43.6px;object-fit:contain;}
.navbar__menu{display:flex;align-items:center;gap:46px;margin:0 auto;}
.navbar__menu a{font-size:var(--fs-menu);color:var(--texto);position:relative;padding-block:4px;
                -webkit-transition:color .25s;transition:color .25s;}
.navbar__menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
                       background:var(--marrom);-webkit-transition:width .3s var(--ease);transition:width .3s var(--ease);}
.navbar__menu a:hover{color:var(--marrom);}
.navbar__menu a:hover::after{width:100%;}
.navbar .btn{padding:5px;}
.navbar .btn span{min-width:228px;height:46px;font-size:calc(var(--fs-botao) - 1.5px);}
.burger{display:none;background:none;border:0;cursor:pointer;color:var(--marrom);padding:8px;}

/* =========================================================
   SEC 01 — HERO
   ========================================================= */
.hero{position:relative;height:830px;overflow:hidden;background:var(--bege);}

/* [1] Padrão da identidade visual atrás da coluna esquerda */
.hero__padrao{position:absolute;left:0;top:0;width:660px;height:100%;
              background-position:left top;background-size:560px auto;background-repeat:repeat;
              opacity:.5;pointer-events:none;}
.hero__padrao::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(247,238,228,.25) 0%,var(--bege) 92%);}

.hero__bg{position:absolute;left:-21px;top:-89px;width:822px;height:879px;pointer-events:none;}
.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.28;}
.hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(247,238,228,0) 28%,var(--bege) 100%);}

.hero__simb{position:absolute;left:1094px;top:-264px;width:1214px;opacity:.55;pointer-events:none;}

.hero .container{position:relative;height:100%;}
.hero__badge{position:absolute;left:0;top:146px;}

/* [2] Título +10% e entrelinhas mais próximas */
.hero__tit{position:absolute;left:0;top:190px;width:580px;
           font-family:var(--serif);font-weight:400;color:var(--marrom);
           font-size:var(--fs-hero_titulo);line-height:1.12;}
.hero__txt{position:absolute;left:0;top:436px;width:530px;font-size:var(--fs-hero_desc);line-height:1.55;}
.hero__cta{position:absolute;left:-2px;top:592px;}
.hero__cta span{min-width:334px;height:58px;}

.hero__foto{position:absolute;left:664px;top:24px;width:562px;height:843px;
            object-fit:cover;object-position:top center;}

/* [3] Selo girando lentamente no lugar */
.hero__selo{
  position:absolute;left:645px;top:500px;width:162px;height:162px;border-radius:50%;
  display:grid;place-items:center;background:rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1.5px solid rgba(247,238,228,.5);
  opacity:0;-webkit-animation:surge 1s var(--ease) .9s forwards;animation:surge 1s var(--ease) .9s forwards;
}
.hero__selo img{width:115px;opacity:.92;
  -webkit-animation:gira 26s linear infinite;animation:gira 26s linear infinite;}
@-webkit-keyframes gira{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}
@keyframes gira{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* =========================================================
   [4] FAIXA — carrossel infinito, suave, nunca para
   ========================================================= */
.faixa{position:relative;height:64px;background:var(--bege-claro);
       border-block:1px solid rgba(190,166,130,.55);overflow:hidden;display:flex;align-items:center;}
.faixa__track{display:flex;flex:none;white-space:nowrap;
              -webkit-animation:desliza 80s linear infinite;animation:desliza 80s linear infinite;
              will-change:transform;}
.faixa__grupo{display:flex;flex:none;}
.faixa__grupo span{display:inline-flex;align-items:center;gap:34px;padding-right:34px;
  font-family:var(--serif);font-size:var(--fs-faixa);letter-spacing:.13em;color:var(--marrom);}
.faixa__grupo span::after{content:"";width:5px;height:5px;border-radius:50%;
                          background:var(--dourado);flex:none;}
@-webkit-keyframes desliza{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0)}}
@keyframes desliza{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* =========================================================
   SEC 02 — SOBRE
   ========================================================= */
.sobre{position:relative;padding:120px 0 0;overflow:hidden;background:var(--bege);}
.sobre__deco{position:absolute;left:0;top:0;width:611px;height:100%;
             background-position:left top;background-size:611px auto;background-repeat:repeat-y;
             opacity:.13;pointer-events:none;}

.sobre__grid{position:relative;z-index:1;display:grid;grid-template-columns:602px 1fr;
             gap:88px;align-items:center;}
/* [5] imagem no formato original, sem fundo preto */
.sobre__img{width:602px;height:604px;object-fit:cover;border-radius:4px;background:var(--bege);}
.sobre__tit{font-family:var(--serif);font-weight:400;color:var(--marrom);
            font-size:var(--fs-sobre_titulo);line-height:1.2;margin-bottom:26px;}
.sobre__txt{font-size:var(--fs-sobre_texto);line-height:1.52;margin-bottom:15px;}
.sobre__grid .btn{margin-top:22px;}

/* [6] cards brancos com tipografia maior */
.caixas{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);
        gap:11px;margin-top:84px;}
.caixa{position:relative;min-height:215px;padding:26px 28px;
       border-radius:14.5px;border:1px solid var(--borda);background:#fff;overflow:hidden;
       -webkit-transition:.4s var(--ease);transition:.4s var(--ease);}
.caixa::before{content:"";position:absolute;inset:0;background:url("img/textura.jpg") center/cover;
               opacity:.2;pointer-events:none;}
.caixa > *{position:relative;z-index:1;}
.caixa:hover{-webkit-transform:translateY(-6px);transform:translateY(-6px);
             box-shadow:0 14px 30px rgba(124,94,60,.14);}
.caixa__ico{width:40px;height:40px;border-radius:5px;background:var(--grad);
            display:grid;place-items:center;color:var(--bege);margin-bottom:20px;}
.caixa h3{font-family:var(--serif);font-size:var(--fs-caixa_titulo);font-weight:400;color:var(--marrom);margin-bottom:10px;}
.caixa p{font-size:var(--fs-caixa_texto);line-height:1.6;}

/* [7] VIVAH — espaço de vídeo à direita + respiro de 100px */
.vivah{position:relative;z-index:1;margin-top:112px;margin-bottom:190px;height:550px;}
.vivah__caixa{position:absolute;left:0;top:0;bottom:0;width:795px;background:var(--marrom);
              border-radius:50px 0 0 50px;overflow:hidden;display:flex;align-items:center;}
.vivah__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;}
.vivah__in{position:relative;z-index:1;padding:0 62px;color:#fff;}
.vivah h2{font-family:var(--serif);font-size:var(--fs-vivah_titulo);font-weight:400;margin-bottom:20px;}
.vivah__lead{font-size:var(--fs-vivah_chamada);margin-bottom:16px;opacity:.95;}
.vivah p{font-size:var(--fs-vivah_texto);line-height:1.72;margin-bottom:30px;opacity:.92;}

.vivah__video{position:absolute;right:0;top:-78px;width:444px;height:706px;
  border-radius:14px;border:1px solid var(--borda);background:var(--bege-claro);
  display:grid;place-items:center;cursor:pointer;overflow:hidden;
  -webkit-transition:.4s var(--ease);transition:.4s var(--ease);}
.vivah__video::before{content:"";position:absolute;inset:0;
  background-position:center;background-size:300px auto;background-repeat:repeat;opacity:.5;}
.vivah__play{position:relative;width:88px;height:88px;border-radius:50%;
  background:rgba(124,94,60,.9);display:grid;place-items:center;color:var(--bege);
  -webkit-transition:.4s var(--ease);transition:.4s var(--ease);}
.vivah__video:hover .vivah__play{-webkit-transform:scale(1.09);transform:scale(1.09);
  background:var(--marrom);}
.vivah__legenda{position:absolute;bottom:28px;left:0;right:0;text-align:center;
  font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--dourado-esc);}

/* =========================================================
   [8][9] SEC 03 — ESPECIALIDADES
   ========================================================= */
.trat{position:relative;padding:92px 0 110px;background:#fff;
      border-top:1px solid var(--dourado);border-bottom:1px solid var(--dourado);}
.trat__bg{position:absolute;inset:0;background-position:center top;background-size:cover;
  background-repeat:no-repeat;pointer-events:none;}
.trat > .container{position:relative;z-index:1;}
.trat__head{text-align:center;max-width:790px;margin:0 auto 60px;}
.trat__head .badge{margin-bottom:28px;}
.trat__head h2{font-family:var(--serif);font-size:var(--fs-trat_titulo);font-weight:400;color:var(--marrom);
               line-height:1.26;margin-bottom:22px;}
.trat__head p{font-size:var(--fs-trat_desc);line-height:1.68;}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:15px;}
.card{position:relative;height:479px;border-radius:17px;overflow:hidden;
      display:flex;align-items:flex-end;
      -webkit-transition:.45s var(--ease);transition:.45s var(--ease);}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
          -webkit-transition:-webkit-transform .7s var(--ease);transition:transform .7s var(--ease);}
.card::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(74,56,35,0) 30%,rgba(74,56,35,.94) 100%);}
.card:hover{-webkit-transform:translateY(-8px);transform:translateY(-8px);
            box-shadow:0 18px 36px rgba(74,56,35,.24);}
.card:hover img{-webkit-transform:scale(1.06);transform:scale(1.06);}
.card__txt{position:relative;z-index:1;padding:26px 24px;color:var(--bege);}
.card__txt h3{font-size:var(--fs-card_titulo);font-weight:400;margin-bottom:9px;}
.card__txt p{font-size:var(--fs-card_texto);line-height:1.62;opacity:.9;}
.card__crm{font-size:11px;letter-spacing:.09em;opacity:.82;margin-bottom:4px;}
.trat__cta{display:flex;justify-content:center;margin-top:52px;}

/* =========================================================
   [10][11] SEC 04 — POR QUE CAMBRAIA
   ========================================================= */
.porque{position:relative;background:var(--bege);padding:144px 0 0;overflow:hidden;}
.porque__padrao{position:absolute;right:0;top:0;width:760px;height:100%;
  background-position:right top;background-size:620px auto;background-repeat:repeat;
  opacity:.55;pointer-events:none;}
.porque__padrao::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--bege) 0%,rgba(247,238,228,0) 45%);}

.porque__grid{position:relative;z-index:1;display:grid;grid-template-columns:595px 625px;
              gap:30px;align-items:stretch;}
.porque__badge{margin-bottom:30px;}
.porque h2{font-family:var(--serif);font-size:var(--fs-pq_titulo);font-weight:400;color:var(--marrom);
           line-height:1.24;margin-bottom:20px;}

.pcaixa{display:flex;gap:20px;align-items:flex-start;padding:26px 0;
        border-bottom:1px solid rgba(190,166,130,.45);}
.pcaixa:last-child{border-bottom:0;}
.pcaixa__ico{flex:none;width:52px;height:52px;border-radius:4.5px;background:var(--grad);
             display:grid;place-items:center;color:var(--bege);}
.pcaixa h3{font-family:var(--serif);font-size:var(--fs-pq_item_tit);font-weight:400;color:var(--marrom);margin-bottom:8px;}
.pcaixa p{font-size:var(--fs-pq_item_txt);line-height:1.65;}
/* imagem com a mesma altura da coluna esquerda */
.porque__fotos{height:100%;}
.porque__fotos img{width:100%;height:100%;border-radius:15px;object-fit:cover;}

.equipe{background:var(--bege);padding:96px 0 112px;}
.equipe__head{text-align:center;max-width:700px;margin:0 auto 54px;}
.equipe__head .badge{margin-bottom:26px;}
.equipe__head h2{font-family:var(--serif);font-size:var(--fs-equipe_titulo);font-weight:400;color:var(--marrom);margin-bottom:18px;}
.equipe__head p{font-size:var(--fs-equipe_desc);line-height:1.68;}

/* [12] Carrossel da equipe */
/* Componente de carrossel usado em várias seções */
.desliza{position:relative;}
.desliza__trilha{-webkit-transition:-webkit-transform .6s var(--ease);
                 transition:transform .6s var(--ease);}
.desliza.arrastando .desliza__trilha{-webkit-transition:none;transition:none;}
.setas--centro{justify-content:center;margin-top:42px;}
.setas--mobile{display:none;}

/* =========================================================
   [13] SEC 05 — DEPOIMENTOS
   ========================================================= */
.depo{position:relative;background:var(--bege);padding:0;overflow:hidden;}
.depo__caixa{position:relative;background:var(--marrom);border-radius:0 50px 50px 0;
             width:1585px;max-width:calc(100% - 24px);padding:74px 0;}
.depo__el{position:absolute;left:-261px;top:-16px;width:579px;opacity:.15;pointer-events:none;}
.depo__grid{position:relative;z-index:1;display:grid;grid-template-columns:530px 1fr;gap:65px;
            align-items:start;padding-left:335px;}
.depo h2{font-family:var(--serif);font-size:var(--fs-depo_titulo);font-weight:400;color:#fff;
         line-height:1.24;margin-bottom:22px;}
.depo__txt{font-size:var(--fs-depo_texto);line-height:1.7;color:rgba(255,255,255,.93);margin-bottom:30px;}
.depo__setas{margin-top:28px;}
.depo__setas button{background:var(--bege-medio);}
.depo__setas button:last-child{background:var(--dourado);}

/* =========================================================
   [14] BLOCO DE AGENDAMENTO
   ========================================================= */
.agenda{padding:130px 0;background:var(--bege);}
.agenda__box{position:relative;display:grid;grid-template-columns:440px 1fr;
             min-height:470px;border-radius:40px;overflow:hidden;background:var(--marrom);}
.agenda__img{width:100%;height:100%;object-fit:cover;}
.agenda__in{padding:48px 56px;color:#fff;display:flex;flex-direction:column;justify-content:center;}
.agenda .badge{margin-bottom:26px;align-self:flex-start;color:var(--bege);
               background:transparent;border-color:rgba(247,238,228,.55);}
.agenda h2{font-family:var(--serif);font-size:var(--fs-agenda_titulo);font-weight:400;margin-bottom:14px;line-height:1.15;}
.agenda__txt{font-size:var(--fs-agenda_texto);line-height:1.66;opacity:.92;margin-bottom:30px;max-width:450px;}
.agenda__lista{display:flex;flex-direction:column;gap:15px;}
.agenda__item{display:flex;align-items:center;gap:20px;}
.agenda__ico{flex:none;width:60px;height:60px;border-radius:13px;background:var(--bege);
             display:grid;place-items:center;color:var(--marrom);
             -webkit-transition:.35s var(--ease);transition:.35s var(--ease);}
.agenda__item:hover .agenda__ico{-webkit-transform:scale(1.06);transform:scale(1.06);}
.agenda__item small{display:block;font-size:var(--fs-agenda_rot);opacity:.96;margin-bottom:4px;}
.agenda__item strong{font-size:var(--fs-agenda_val);font-weight:400;opacity:.86;line-height:1.5;
                     display:block;max-width:360px;}

/* =========================================================
   [15] SEC 06 — RODAPÉ
   ========================================================= */
.footer{background:var(--bege);padding:90px 0 0;border-top:1px solid rgba(190,166,130,.4);}

.footer__topo{display:grid;grid-template-columns:190px 1fr auto;gap:44px;align-items:center;
              padding-bottom:44px;margin-bottom:44px;border-bottom:1px solid rgba(190,166,130,.45);}
.footer__logo{width:150px;}
.footer__sobre{font-size:var(--fs-rodape_sobre);line-height:1.7;max-width:520px;}
.footer__topo .btn span{min-width:280px;height:52px;font-size:calc(var(--fs-botao) - 1.5px);}

.footer__grid{display:grid;grid-template-columns:.85fr 1.25fr 1.2fr 1fr;gap:44px;}
.footer__col h4{font-family:var(--serif);font-size:var(--fs-rodape_titulo);font-weight:400;color:var(--marrom);
                margin-bottom:20px;}
.footer__col li{margin-bottom:11px;}
.footer__col li a{font-size:var(--fs-rodape_texto);
                  -webkit-transition:.25s var(--ease);transition:.25s var(--ease);}
.footer__col li a:hover{color:var(--marrom);padding-left:5px;}
.footer__col--trat ul{columns:2;column-gap:26px;}

.footer__contato li{display:flex;gap:11px;align-items:flex-start;font-size:var(--fs-rodape_texto);line-height:1.62;}
.footer__contato svg{flex:none;margin-top:3px;color:var(--dourado);}

.footer__resp{font-size:var(--fs-rodape_texto);line-height:1.75;margin-bottom:22px;}
.footer__resp strong{color:var(--marrom);}
.footer__soc{display:flex;gap:9px;}
.footer__soc a{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;
               border:1px solid var(--borda);background:transparent;color:var(--marrom);
               -webkit-transition:.25s var(--ease);transition:.25s var(--ease);}
.footer__soc a:hover{background:var(--marrom);border-color:var(--marrom);color:var(--bege);
                     -webkit-transform:translateY(-3px);transform:translateY(-3px);}

.footer__base{margin-top:70px;min-height:74px;background:var(--marrom);
              display:flex;align-items:center;color:var(--bege);font-size:13.5px;}
.footer__base .container{display:flex;justify-content:space-between;align-items:center;
                         gap:20px;flex-wrap:wrap;}

/* =========================================================
   RESPONSIVO — 1250 → 975 → 95% → 90%
   ========================================================= */
@media (max-width:1330px){
  :root{--container:975px;}

  .navbar__menu{gap:26px;}
  .navbar .btn span{min-width:186px;height:42px;}

  .hero{height:auto;padding-top:64px;}
  .hero .container{display:grid;grid-template-columns:1fr 415px;gap:40px;align-items:end;}
  .hero__badge,.hero__tit,.hero__txt,.hero__cta,.hero__foto,.hero__selo{position:static;}
  .hero__esq{padding-bottom:96px;}
  .hero__badge{margin-bottom:30px;}
  .hero__tit{width:auto;margin-bottom:24px;}
  .hero__txt{width:auto;max-width:490px;margin-bottom:32px;}
  .hero__cta span{min-width:300px;height:54px;}
  .hero__dir{position:relative;}
  .hero__foto{width:100%;height:auto;aspect-ratio:562/843;margin-left:auto;}
  .hero__selo{position:absolute;left:-26px;bottom:76px;}
  .hero__bg{top:-40px;width:600px;height:auto;aspect-ratio:822/879;}
  .hero__simb{left:auto;right:-280px;top:-150px;width:840px;}
  .hero__padrao{width:480px;}

  .sobre__grid{grid-template-columns:1fr 1fr;gap:44px;}
  .sobre__img{width:100%;height:auto;aspect-ratio:602/604;}
  .caixas{grid-template-columns:repeat(2,1fr);gap:14px;}

  .vivah{height:auto;padding:0;margin-bottom:100px;}
  .vivah__caixa{position:relative;width:calc(100% - 280px);border-radius:40px 0 0 40px;padding:56px 0;}
  .vivah__in{padding:0 48px;}
  .vivah h2{}
  .vivah__video{top:0;height:100%;width:300px;}

  .trat__head h2{}
  .cards{grid-template-columns:repeat(3,1fr);}
  .card{height:420px;}

  .porque{padding-top:96px;}
  .porque__grid{grid-template-columns:1fr 1fr;gap:40px;}
  .porque h2{}
  .equipe__head h2{}

  .depo__caixa{max-width:100%;border-radius:0 40px 40px 0;padding:60px 0;}
  .depo__grid{grid-template-columns:1fr;gap:40px;
              padding-left:calc((100vw - var(--container))/2);}
  .depo h2{}
  .depo h2 br{display:none;}

  .agenda{padding:100px 0;}
  .agenda__box{grid-template-columns:1fr 1fr;min-height:0;}
  .agenda__in{padding:52px 44px;}
  .agenda h2{}

  .footer__topo{grid-template-columns:150px 1fr;gap:28px;}
  .footer__topo .btn{grid-column:1 / -1;}
  .footer__topo .btn span{min-width:0;width:100%;}
  .footer__grid{grid-template-columns:1fr 1fr;gap:40px;}
}

@media (max-width:1024px){
  :root{--container:95%;}

  .topbar{height:auto;padding:9px 0;}
  .topbar .container{flex-direction:column;gap:7px;}
  .topbar__end{text-align:center;}

  .navbar{height:70px;}
  .navbar .container{justify-content:space-between;}
  .navbar__menu{position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;margin:0;
    background:#fff;box-shadow:0 12px 24px rgba(124,94,60,.14);max-height:0;overflow:hidden;
    -webkit-transition:max-height .4s var(--ease);transition:max-height .4s var(--ease);}
  .navbar__menu.aberto{max-height:360px;}
  .navbar__menu a{width:100%;text-align:center;padding:16px 0;border-bottom:1px solid var(--borda);}
  .burger{display:grid;place-items:center;order:3;}
  .navbar .btn{display:none;}
  .navbar__logo{width:170px;height:auto;}

  .hero .container{grid-template-columns:1fr;}
  .hero__esq{padding-bottom:48px;}

  .hero__dir{max-width:420px;margin-inline:auto;}
  .hero__selo{left:0;bottom:52px;width:128px;height:128px;}
  .hero__selo img{width:92px;}
  .hero__simb{right:-360px;opacity:.32;}
  .hero__padrao{width:100%;opacity:.3;}

  .sobre{padding-top:80px;}
  .sobre__grid{grid-template-columns:1fr;gap:36px;}
  .sobre__img{max-width:560px;margin-inline:auto;}
  .vivah__caixa{width:100%;border-radius:30px;}
  .vivah__video{position:relative;top:auto;right:auto;width:100%;height:430px;margin-top:16px;}
  /* Vídeo do painel: a altura deixa de ser fixa e passa a nascer da
     proporção do arquivo. O min() só impede que um vídeo bem vertical
     ocupe a tela inteira do celular. */
  .vivah__video--arquivo{height:auto;aspect-ratio:var(--rv);
    width:min(100%, calc(78vh * var(--rv)));
    margin-left:auto;margin-right:auto;}
  /* Só no mobile o vídeo aparece inteiro, sem recorte */
  .vivah__video--arquivo video{object-fit:contain;}

  .cards{grid-template-columns:repeat(2,1fr);}
  .porque__grid{grid-template-columns:1fr;}
  .porque__img{max-height:560px;min-height:0;}

  .depo__caixa{border-radius:30px;padding:50px 0;max-width:calc(100% - 16px);}
  .depo__grid{padding-inline:34px;padding-left:34px;}

  .agenda__box{grid-template-columns:1fr;border-radius:30px;}
  .agenda__img{height:330px;}
  .agenda__in{padding:44px 36px;}

  .footer__grid{grid-template-columns:1fr 1fr;gap:36px;}
}

@media (max-width:640px){
  :root{--container:90%;}

  .topbar__end{line-height:1.4;}
  .navbar{height:64px;}
  .navbar__menu{top:64px;}
  .navbar__logo{width:148px;}

  .hero{padding-top:40px;}
  .badge{height:36px;padding-inline:20px;}
  .hero__tit{line-height:1.15;margin-bottom:18px;}
  .hero__txt{margin-bottom:26px;}
  .btn{display:block;}
  .btn span{min-width:0;width:100%;height:52px;padding-inline:12px;letter-spacing:.1em;}
  .hero__cta span{min-width:0;}
  .hero__selo{width:96px;height:96px;bottom:26px;}
  .hero__selo img{width:68px;}

  .faixa{height:52px;}
  .faixa__grupo span{gap:22px;padding-right:22px;}

  .sobre{padding-top:60px;}
  .caixas{grid-template-columns:1fr;margin-top:52px;}
  .caixa h3{}
  .vivah{margin-top:70px;margin-bottom:70px;}
  .vivah__caixa{border-radius:22px;padding:44px 0;}
  .vivah__in{padding:0 24px;}
  .vivah h2{}
  .vivah__video{height:360px;}
  /* Precisa repetir aqui: a regra acima é do mesmo peso e vem depois,
     então sem esta linha os 360px fixos voltariam a cortar o vídeo. */
  .vivah__video--arquivo{height:auto;}
  .vivah__play{width:70px;height:70px;}

  .trat{padding:60px 0 76px;}
  .trat__head h2{}
  .cards{grid-template-columns:1fr;gap:14px;}
  .card{height:400px;}

  .porque{padding-top:66px;}
  .porque h2{margin-bottom:14px;}
  .pcaixa{gap:14px;padding:22px 0;}
  .pcaixa__ico{width:44px;height:44px;}
  .pcaixa h3{}
  .porque__img{max-height:420px;}
  .equipe{padding:66px 0 76px;}
  .equipe__head h2{}

  .depo__caixa{border-radius:22px;padding:42px 0;}
  .depo__grid{padding-inline:24px;padding-left:24px;gap:32px;}
  .depo h2{}

  .agenda{padding:66px 0;}
  .agenda__box{border-radius:22px;}
  .agenda__img{height:250px;}
  .agenda__in{padding:38px 24px;}
  .agenda h2{}
  .agenda__ico{width:56px;height:56px;}

  .footer{padding-top:62px;}
  .footer__topo{grid-template-columns:1fr;gap:22px;text-align:left;
                padding-bottom:32px;margin-bottom:32px;}
  .footer__grid{grid-template-columns:1fr;gap:30px;}
  .footer__col--trat ul{columns:2;column-gap:18px;}
  .footer__col h4{margin-bottom:14px;}
  .footer__base{margin-top:48px;padding:22px 0;}
  .footer__base .container{flex-direction:column;text-align:center;}
}

/* =========================================================
   MOVIMENTO REDUZIDO
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  /* Nada de acelerar: as animações simplesmente não rodam.
     Usar animation:none evita o bug de duração mínima, que fazia
     a faixa disparar em vez de parar. */
  *,*::before,*::after{
    -webkit-animation:none !important;animation:none !important;
    -webkit-transition:none !important;transition:none !important;
  }
  .faixa__track{-webkit-transform:none !important;transform:none !important;}
  html{scroll-behavior:auto;}
  .rv{opacity:1;-webkit-transform:none;transform:none;}
  .an,.an-foto,.hero__selo{opacity:1;}
}

/* ---------- Itens do bloco de agendamento como links ---------- */
.agenda__item{color:inherit;text-decoration:none;}
a.agenda__item:hover strong{opacity:1;}
.agenda__item > span:last-child{display:block;}

/* =========================================================
   AJUSTES FINAIS
   ========================================================= */

/* [7] Padroniza o tamanho dos textos de apoio dos títulos */
.trat__head p{font-size:var(--fs-trat_desc);line-height:1.68;}
.equipe__head p{font-size:var(--fs-equipe_desc);line-height:1.68;}

/* Vídeo VIVAH quando há URL cadastrada */
/* Com vídeo de verdade, o padrão decorativo do placeholder precisa sair.
   Ele é um ::before absoluto sobre toda a caixa e, por ser posicionado,
   ficava PINTADO POR CIMA do <video>, engolindo o clique no play e
   escondendo os controles no celular. */
.vivah__video--ativo{padding:0;border:0;background:#000;overflow:hidden;cursor:default;
  display:block;}
.vivah__video--ativo::before{display:none;content:none;}
.vivah__video--ativo iframe{width:100%;height:100%;border:0;display:block;}

/* --- Vídeo enviado pelo painel: mostra o QUADRO INTEIRO ---
   Antes era object-fit:cover dentro de uma caixa de altura fixa. No celular
   a caixa virava 100% de largura por 360px de altura, e um vídeo vertical
   (9:16) era cortado em cima e embaixo.
   Agora a própria caixa assume a proporção do arquivo, guardada na variável
   --rv (largura ÷ altura). O script.js grava o valor real assim que os
   metadados do vídeo carregam; 0.5625 (= 9/16) é só o palpite inicial para
   a caixa não pular de tamanho enquanto isso não acontece. */
.vivah__video--arquivo{--rv:.5625;}
/* Desktop e tablet continuam com o quadro do layout (444x706) e cover:
   o recorte ali é mínimo e o desenho da página depende dessa medida.
   A proporção do arquivo só entra em cena no mobile, mais abaixo. */
.vivah__video--ativo video{width:100%;height:100%;border:0;display:block;
  position:relative;z-index:2;object-fit:cover;background:#000;}

/* --- Botão de play sobre o vídeo enviado pelo painel ---
   Os controles nativos existem, mas no celular ficam pequenos e às vezes
   nem aparecem antes do primeiro toque. Este botão dá o alvo grande e some
   assim que o vídeo começa. --- */
/* A caixa .vivah__video já é posicionada (absolute no desktop, relative no
   mobile), então NÃO redeclarar position aqui: fazer isso tirava o vídeo do
   canto direito e jogava ele para dentro do fluxo, por cima da caixa marrom. */
.vivah__playbt{position:absolute;inset:0;z-index:3;
  display:grid;place-items:center;
  width:100%;height:100%;padding:0;margin:0;
  border:0;background:rgba(30,22,12,.28);cursor:pointer;
  -webkit-transition:opacity .35s var(--ease),visibility .35s var(--ease);
  transition:opacity .35s var(--ease),visibility .35s var(--ease);}
.vivah__playbt .vivah__play{
  box-shadow:0 6px 24px rgba(0,0,0,.35);}
.vivah__playbt:hover .vivah__play{-webkit-transform:scale(1.09);transform:scale(1.09);
  background:var(--marrom);}
.vivah__playbt:focus-visible{outline:3px solid var(--dourado);outline-offset:-6px;}
/* Enquanto toca, o botão sai da frente e libera os controles nativos */
.vivah__video--arquivo.tocando .vivah__playbt{opacity:0;visibility:hidden;pointer-events:none;}

/* Aviso mostrado quando o navegador não consegue decodificar a imagem */
.vivah__errovideo{position:absolute;left:0;right:0;bottom:0;z-index:4;
  margin:0;padding:14px 18px;background:rgba(30,22,12,.88);color:#fff;
  font-size:13px;line-height:1.5;text-align:center;}

/* Itens do bloco de agendamento como links */
.agenda__item{color:inherit;text-decoration:none;}
.agenda__item > span:last-child{display:block;}


/* =========================================================
   DEPOIMENTOS — cartões no visual nativo do Google
   ========================================================= */
.depo{overflow:hidden;}
.depo__caixa{overflow:visible;}
.depo__grid{align-items:center;}

/* Resumo da nota */
.gresumo{display:inline-flex;align-items:center;gap:15px;margin:0 0 30px;
  background:rgba(255,255,255,.1);border:1px solid rgba(247,238,228,.26);
  border-radius:14px;padding:14px 20px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.gresumo__g{display:grid;place-items:center;width:44px;height:44px;flex:none;
  background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.16);}
.gresumo__nota{display:flex;align-items:center;gap:9px;color:#fff;margin:0 0 3px;}
.gresumo__nota b{font-size:27px;font-weight:700;line-height:1;letter-spacing:-.01em;}
.gresumo__nota svg{display:block;}
.gresumo__qtd{margin:0;font-size:12.5px;color:rgba(255,255,255,.72);}

/* Trilha arrastável, com os cards transbordando a caixa marrom */
.depo__janela{position:relative;overflow:visible;cursor:grab;
  -webkit-user-select:none;user-select:none;touch-action:pan-y;}
.depo__janela:active{cursor:grabbing;}
.depo__trilha{display:flex;gap:16px;width:max-content;padding:6px 0 10px;
  -webkit-transition:-webkit-transform .6s var(--ease);transition:transform .6s var(--ease);}
.depo__janela.arrastando .depo__trilha{-webkit-transition:none;transition:none;}

/* Cartão */
.gcard{position:relative;flex:none;width:330px;min-height:238px;
  background:#fff;border-radius:14px;padding:24px 22px 22px;
  box-shadow:0 4px 18px rgba(74,56,35,.18);
  display:flex;flex-direction:column;
  -webkit-transition:.45s var(--ease);transition:.45s var(--ease);
  will-change:transform;}
.gcard:hover{-webkit-transform:translateY(-6px) scale(1.045);
  transform:translateY(-6px) scale(1.045);z-index:9;
  box-shadow:0 26px 52px rgba(40,28,14,.4);}

/* Aspas decorativas ao fundo */
.gcard::after{content:"”";position:absolute;right:16px;bottom:2px;
  font-family:var(--serif);font-size:96px;line-height:1;
  color:rgba(190,166,130,.16);pointer-events:none;}

.gcard__topo{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.gcard__av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;
  background:var(--bege-medio);border:2px solid var(--bege);}
.gcard__av--letra{display:grid;place-items:center;background:var(--grad);
  color:#fff;font-weight:700;font-size:16px;letter-spacing:.02em;border:0;}
.gcard__quem{min-width:0;flex:1;}
.gcard__nome{font-size:15px;font-weight:700;color:#202124;line-height:1.3;margin:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gcard__data{font-size:12.5px;color:#70757a;margin:2px 0 0;}
.gcard__g{flex:none;display:grid;place-items:center;opacity:.9;}
.gcard__estrelas{display:flex;gap:2px;margin-bottom:12px;}
.gcard__texto{position:relative;z-index:1;
  font-size:var(--fs-dcard_texto);line-height:1.66;color:#3c4043;margin:0;
  display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;}

/* Ações abaixo do texto */
.depo__acoes{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:4px;}
.depo__google{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;
  color:var(--bege);border-bottom:1px solid rgba(247,238,228,.4);padding-bottom:3px;
  -webkit-transition:.25s var(--ease);transition:.25s var(--ease);}
.depo__google:hover{border-bottom-color:var(--bege);gap:11px;}
.depo__arraste{display:flex;align-items:center;gap:9px;margin-top:24px;
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(247,238,228,.62);-webkit-transition:opacity .4s;transition:opacity .4s;}
.depo__arraste svg{-webkit-animation:acena 2.4s ease-in-out infinite;
  animation:acena 2.4s ease-in-out infinite;}
@-webkit-keyframes acena{0%,100%{-webkit-transform:translateX(0)}50%{-webkit-transform:translateX(6px)}}
@keyframes acena{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
.depo__arraste.sumiu{opacity:0;}

/* Quebra de linha do título só no desktop */
.depo h2 .quebra{display:block;}

/* Itens do bloco de agendamento como links */
.agenda__item{color:inherit;text-decoration:none;}
.agenda__item > span:last-child{display:block;}

/* =========================================================
   HERO — base que ancora a foto à seção no mobile
   ========================================================= */

/* =========================================================
   AJUSTES DE TABLET E MOBILE
   ========================================================= */
@media (max-width:1024px){
  .gcard{width:300px;}
  .gresumo{max-width:none;}
}

@media (max-width:400px){
  .cards--desliza > .card{flex:0 0 86%;}
  .gcard{width:80vw;}
}

/* =========================================================
   MOBILE — ajustes finais
   ========================================================= */
@media (max-width:640px){

  /* Trava a rolagem lateral da página inteira */
  html,body{overflow-x:hidden;overscroll-behavior-x:none;max-width:100%;}

  /* --- Cabeçalho: sem endereço nem redes sociais --- */
  .topbar{display:none;}

  /* --- Hero e faixa como uma seção só, mesmo fundo --- */
  .hero{position:relative;height:auto;padding:32px 0 0;background:var(--bege);overflow:hidden;}

  /* O fundo cobre a seção inteira — antes parava no meio e o hero
     parecia partido em dois blocos. */
  .hero__bg{position:absolute;left:0;right:0;top:0;bottom:0;
    width:100%;height:100%;aspect-ratio:auto;opacity:1;}
  .hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.17;}
  .hero__bg::after{background:linear-gradient(180deg,
    rgba(247,238,228,.30) 0%,rgba(247,238,228,.62) 45%,
    rgba(247,238,228,.92) 82%,var(--bege) 100%);}
  .hero__padrao{position:absolute;left:0;top:0;width:100%;height:100%;
    background-size:300px auto;opacity:.13;}
  .hero__padrao::after{background:linear-gradient(180deg,
    rgba(247,238,228,.15) 0%,rgba(247,238,228,.8) 100%);}
  .hero__simb{left:auto;right:-55%;top:-6%;width:150%;opacity:.13;}

  .hero .container{display:block;position:relative;z-index:2;}
  .hero__esq{padding-bottom:26px;}
  /* A altura vem do container, não da imagem: assim a foto nunca
     colapsa, mesmo se aspect-ratio, animação ou opacidade falharem. */
  .hero__dir{display:block !important;position:relative;
    width:100%;max-width:420px;margin:0 auto;padding:0;
    aspect-ratio:562/843;}
  .hero__foto{display:block !important;position:absolute;inset:0;z-index:1;
    width:100% !important;height:100% !important;max-width:none;margin:0;
    opacity:1 !important;
    -webkit-animation:none !important;animation:none !important;
    aspect-ratio:auto;object-fit:cover;object-position:top center;
    -webkit-mask-image:none;mask-image:none;}
  .hero__selo{position:absolute;z-index:2;left:4%;bottom:12%;
    width:96px;height:96px;top:auto;}
  .hero__selo img{width:68px;}

  /* A faixa herda o mesmo fundo, sem emenda visível */
  .hero + .faixa{background:var(--bege);border-top:0;}

  /* --- Carrossel: especialidades, equipe e depoimentos --- */
  .desliza{overflow:hidden;margin-inline:-5vw;padding-inline:5vw;
    touch-action:pan-y;}
  .desliza__trilha{display:flex !important;flex-wrap:nowrap;
    gap:12px;width:-webkit-max-content;width:max-content;
    grid-template-columns:none !important;}
  .desliza__trilha > *{flex:0 0 78vw;max-width:330px;}
  .setas--mobile{display:flex;justify-content:center;gap:10px;margin-top:20px;}
  .setas--centro{margin-top:20px;}
  .setas button:disabled{opacity:.35;}

  /* Cards mais altos para o texto caber */
  .trat .card{height:440px;}
  .equipe .card{height:470px;}
  .card__txt{padding:22px 20px;}

  /* --- CTAs padronizados --- */
  .btn{display:block;width:100%;}
  .btn span{min-width:0;width:100%;height:54px;font-size:var(--fs-botao);
    padding-inline:10px;letter-spacing:.08em;}
  .trat__cta{display:block;}
  .navbar .btn{display:none;}

  /* --- Sobre: padrão só numa faixa lateral --- */
  .sobre__deco{width:110px;opacity:.08;background-size:110px auto;}

  /* --- Depoimentos --- */
  .depo{padding-inline:0;}
  .depo__caixa{width:100%;max-width:100%;border-radius:0 22px 22px 0;
    padding:40px 0 36px;margin-right:12px;}
  .depo__grid{display:block;padding:0 22px;}
  .depo__el{left:-58%;width:88%;top:-4%;}
  .depo h2{margin-bottom:16px;}
  .depo h2 .quebra{display:inline;}
  .depo__txt{margin-bottom:22px;}
  /* A caixa da nota acompanha o conteúdo, não a largura da tela */
  .gresumo{display:inline-flex;width:auto;max-width:100%;align-self:flex-start;
    padding:12px 16px;gap:12px;margin:0 0 22px;box-sizing:border-box;}
  .gresumo__g{width:38px;height:38px;}
  .gresumo__nota b{font-size:22px;}

  /* A janela corta na margem interna: o card seguinte sai de trás dela */
  .depo__janela{margin-left:-22px;margin-right:-22px;
    padding-left:22px;padding-right:0;overflow:hidden;}
  .depo__trilha{gap:12px;padding-bottom:6px;}
  .gcard{width:calc(82vw - 46px);min-width:230px;max-width:300px;
    min-height:0;padding:20px 18px;}

  /* --- Rodapé --- */
  .footer__topo{text-align:center;justify-items:center;gap:18px;}
  .footer__logo{margin-inline:auto;}
  .footer__sobre{text-align:center;}
  .footer__grid{grid-template-columns:1fr 1fr;gap:26px 20px;}
  .footer__col--trat{grid-column:1 / -1;}
  .footer__col--trat ul{columns:2;column-gap:16px;}
  .footer__col--contato,.footer__col--resp{grid-column:1 / -1;text-align:center;}
  .footer__col--contato .footer__contato li,
  .footer__col--resp .footer__contato li{justify-content:center;}
  .footer__soc{justify-content:center;}
}

@media (max-width:400px){
  .desliza__trilha > *{flex:0 0 84vw;}
  .gcard{width:calc(86vw - 44px);}
}

/* Imagem não pode iniciar arraste nativo: o gesto é do carrossel */
.desliza img,.depo__janela img,.gcard img,.desliza a{-webkit-user-drag:none;user-drag:none;}
.depo__col{min-width:0;}
.sobre__paras,.porque__itens{display:block;}

/* Setas dos depoimentos: também no desktop, junto do aviso de arraste */
.depo__setas{display:flex;gap:9px;margin-top:22px;}
.depo__setas button:disabled{opacity:.35;cursor:default;}
@media (max-width:640px){
  .depo__setas{justify-content:flex-start;margin-top:18px;margin-bottom:30px;}
}

/* Setas somem quando não há o que deslizar */
.setas--ocultas{display:none !important;}

/* =========================================================
   CORREÇÕES DE CARROSSEL — 2026-09-02-d
   (as mesmas regras vão embutidas no index.php, para valerem
   mesmo que este arquivo fique velho no servidor)
   ========================================================= */

/* Especialidades: grade no desktop, carrossel só no mobile */
.setas--mobile{display:none;}
@media (max-width:640px){
  .setas--mobile{display:flex;justify-content:center;gap:10px;margin-top:20px;}
}

/* Equipe: sempre uma fila só, em carrossel */
/* --- Hover da seção Especialistas: suave e sem sombra ---
   A regra geral de .card sobe 8px e joga uma sombra forte. Aqui o
   movimento é reduzido, o tempo alongado e a sombra removida. --- */
.equipe .card{-webkit-transition:-webkit-transform .75s cubic-bezier(.22,.61,.36,1);
              transition:transform .75s cubic-bezier(.22,.61,.36,1);
              box-shadow:none;}
.equipe .card:hover,
.equipe .card:focus-within{-webkit-transform:translateY(-3px);transform:translateY(-3px);
                           box-shadow:none;}
.equipe .card img{-webkit-transition:-webkit-transform 1.1s cubic-bezier(.22,.61,.36,1);
                  transition:transform 1.1s cubic-bezier(.22,.61,.36,1);}
.equipe .card:hover img{-webkit-transform:scale(1.02);transform:scale(1.02);}

.equipe__desliza{overflow:hidden;padding:14px 0;margin:-14px 0;}
.equipe .cards--fila{
  display:-webkit-box;display:-webkit-flex;display:flex;
  -webkit-flex-wrap:nowrap;flex-wrap:nowrap;
  grid-template-columns:none !important;
  gap:15px;margin-bottom:0;width:auto;}
.equipe .cards--fila > .card{
  -webkit-flex:0 0 calc((100% - 45px)/4);flex:0 0 calc((100% - 45px)/4);
  max-width:none;}
@media (max-width:1330px){
  .equipe .cards--fila > .card{-webkit-flex-basis:calc((100% - 30px)/3);flex-basis:calc((100% - 30px)/3);}
}
@media (max-width:1024px){
  .equipe .cards--fila > .card{-webkit-flex-basis:calc((100% - 15px)/2);flex-basis:calc((100% - 15px)/2);}
}
@media (max-width:640px){
  .equipe .cards--fila{gap:12px;width:-webkit-max-content;width:max-content;}
  .equipe .cards--fila > .card{-webkit-flex:0 0 78vw;flex:0 0 78vw;max-width:330px;}
}
@media (max-width:400px){
  .equipe .cards--fila > .card{-webkit-flex:0 0 84vw;flex:0 0 84vw;}
}
.equipe__setas{justify-content:center;margin-top:42px;}
@media (max-width:640px){ .equipe__setas{margin-top:20px;} }

/* Depoimentos: a coluna do carrossel não cresce com o conteúdo,
   senão o script entende que não há o que deslizar e some com as setas */
.depo__grid{grid-template-columns:520px minmax(0,1fr);}
.depo__janela{min-width:0;max-width:100%;}
/* Ao deslizar, o card não pode invadir a coluna de texto à esquerda.
   overflow:hidden cortaria a sangria à direita e a sombra do hover,
   então o corte é só do lado esquerdo. */
@media (min-width:641px){
  .depo__janela{-webkit-clip-path:inset(-60px -100vw -60px 0);
                clip-path:inset(-60px -100vw -60px 0);}
}

@media (max-width:1330px){
  .depo__grid{grid-template-columns:minmax(0,1fr);}
}

/* =========================================================
   ENCAIXE DAS IMAGENS
   Toda imagem enviada pelo painel entra na caixa preenchendo o
   espaço e mantendo a proporção original: nada é esticado nem
   achatado. Se as proporções não baterem, o excesso é aparado
   pelas bordas e o centro da imagem é preservado.
   ========================================================= */
.card img,
.sobre__img,
.porque__fotos img,
.agenda__img,
.hero__foto,
.hero__bg img,
.vivah__bg,
.gcard__av{
  object-fit:cover;
  object-position:center center;
}

/* Logos, ícones e selos: aparecem inteiros, sem corte nenhum */
.navbar__logo,
.footer__logo,
.hero__selo img,
.caixa__ico img,
.footer__soc img,
.topbar__soc img{
  object-fit:contain;
  object-position:center center;
}

/* Rede de segurança: nenhuma imagem do site pode ultrapassar
   a largura do bloco que a contém e virar barra de rolagem. */
img{max-width:100%;}
