/* Identidade tirada do espaço físico da Malune: paredes bege, mármore branco, ônix iluminado,
   latão escovado, couro caramelo e a linha de LED sinuosa das paredes. Um só visual (claro). */
:root{
  --marfim:#FAF6F0;      /* fundo principal, parede iluminada */
  --parede:#EFE5D8;      /* bege das paredes */
  --onix:#F6ECDF;        /* brilho do ônix */
  --branco:#FFFFFF;      /* mármore */
  --latao:#B08A3E;       /* latão escovado */
  --latao-escuro:#86672A;/* latão para texto pequeno */
  --ouro-logo:#C9A227;
  --caramelo:#C39A6B;    /* couro das cadeiras */
  --tinta:#3B3027;       /* texto, marrom profundo */
  --tinta-suave:#76685A;
  --linha:#E3D6C5;
  --cafe:#2E251E;        /* rodapé */
  --serif:"Marcellus",Optima,"Times New Roman",serif; /* serifas abertas das maiúsculas da logo */
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  /* escala tipográfica: quarta (1,333) a partir do texto de 17px */
  --t-5:clamp(2.3rem,4.4vw,3.4rem);   /* h1 */
  --t-4:clamp(1.9rem,3.4vw,2.75rem);  /* h2 de seção */
  --t-3:clamp(1.6rem,2.6vw,2.1rem);   /* h2 de bloco, chamadas */
  --t-2:clamp(1.35rem,2vw,1.6rem);    /* h3, nomes de procedimento */
  --t-1:1.18rem;                      /* serif pequena: listas, FAQ */
  --t-sec:.94rem;                     /* texto secundário */
  --t-rotulo:.72rem;                  /* rótulos em caixa alta */
  --wrap:1200px;
  --gutter:clamp(20px,4.5vw,48px);
  --raio:2px;
  /* ritmo vertical */
  --esp-secao:clamp(72px,9vw,120px);  /* entre seções */
  --esp-topo:clamp(56px,6vw,88px);    /* primeira seção depois do topo da página */
  /* movimento: uma curva e uma duração para todas as respostas a ações */
  --ease:cubic-bezier(.2,.7,.2,1);
  --dur:.28s;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:rgba(176,138,62,.14)}
body{font-synthesis:none;margin:0;background:var(--marfim);color:var(--tinta);font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0;text-wrap:balance;color:var(--tinta)}
h1{line-height:1.1}
p,li,dd,figcaption{text-wrap:pretty}
p{margin:0}
ul,ol{margin:0;padding:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:var(--t-rotulo);letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--latao-escuro)}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--latao)}
.lead{font-size:1.1rem;color:var(--tinta-suave);max-width:36em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--latao);outline-offset:3px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;padding:.95rem 1.7rem;font-family:var(--sans);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;border:1px solid var(--latao);border-radius:var(--raio);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform .12s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn-latao{background:var(--latao);color:#fff}
.btn-latao:hover{background:var(--latao-escuro);border-color:var(--latao-escuro)}
.btn-contorno{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.btn-contorno:hover{background:var(--tinta);color:var(--marfim)}
.link-seta{display:inline-flex;align-items:center;gap:.6em;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--latao-escuro);border-bottom:1px solid var(--linha);padding-bottom:4px;transition:border-color var(--dur) var(--ease),gap var(--dur) var(--ease)}
.link-seta:hover{border-color:var(--latao);gap:.9em}

/* Barra superior */
.topbar{background:var(--parede);font-size:.8rem;color:var(--tinta-suave)}
.topbar .wrap{display:flex;justify-content:space-between;gap:10px 28px;flex-wrap:wrap;padding-block:9px}
.topbar .grupo{display:flex;gap:10px 26px;flex-wrap:wrap}
.topbar span,.topbar a{display:inline-flex;align-items:center;gap:8px}
.topbar a:hover{color:var(--latao-escuro)}
.topbar svg{color:var(--latao)}
@media (max-width:720px){.topbar .so-desk{display:none}}

/* Cabeçalho */
.cab{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--linha)}
.cab .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:84px}
.marca{display:flex;align-items:center;gap:12px;flex-shrink:0}
.marca .lotus{height:40px;width:auto}
.marca .palavra{height:18px;width:auto}
.menu{display:flex;align-items:center;gap:32px}
.menu > a,.menu .drop > button{font-family:var(--sans);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--tinta);background:none;border:0;padding:8px 0;cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:6px}
.menu > a::after,.menu .drop > button::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--latao);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}
.menu > a:hover::after,.menu > a[aria-current="page"]::after,.menu .drop > button:hover::after,.menu .drop.atual > button::after{transform:scaleX(1)}
.menu .btn{padding:.8rem 1.3rem;color:#fff}
/* o CTA do menu herda o reset de .menu > a; devolve fundo e borda do botão */
.menu > .btn{background:var(--latao);border:1px solid var(--latao);justify-content:center}
.menu > .btn:hover{background:var(--latao-escuro);border-color:var(--latao-escuro)}
.menu > .btn::after{display:none}
.menu > a,.menu .drop > button{white-space:nowrap}
/* notebook pequeno / tablet deitado: menu completo cabe em uma linha */
@media (min-width:981px) and (max-width:1199px){
  .cab .wrap{gap:16px}
  .menu{gap:20px}
  .menu > a,.menu .drop > button{letter-spacing:.1em;font-size:.76rem}
  .menu .btn{padding:.75rem 1rem;letter-spacing:.12em}
}
.drop{position:relative}
.drop .painel{position:absolute;top:calc(100% + 26px);left:50%;transform:translateX(-50%);width:min(620px,90vw);background:var(--branco);border:1px solid var(--linha);box-shadow:0 24px 48px -24px rgba(59,48,39,.28);display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:28px 30px;opacity:0;visibility:hidden;margin-top:6px;transition:opacity var(--dur) var(--ease),visibility var(--dur),margin-top var(--dur) var(--ease)}
.drop:hover .painel,.drop.aberto .painel,.drop:focus-within .painel{opacity:1;visibility:visible;margin-top:0}
.drop > button svg{transition:transform var(--dur) var(--ease)}
.drop.aberto > button svg{transform:rotate(180deg)}
@media (hover:hover) and (min-width:981px){.drop:hover > button svg{transform:rotate(180deg)}}
.drop .painel::before{content:"";position:absolute;left:0;right:0;top:-28px;height:28px}
.painel h4{font-family:var(--sans);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--latao-escuro);font-weight:500;padding-bottom:10px;border-bottom:1px solid var(--linha);margin-bottom:6px}
.painel a{display:block;padding:7px 0;font-family:var(--serif);font-size:1.08rem;color:var(--tinta)}
.painel a:hover{color:var(--latao-escuro)}
.painel .todos{grid-column:1/-1;font-family:var(--sans);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--latao-escuro);border-top:1px solid var(--linha);padding-top:14px}
.btn-menu{display:none;width:46px;height:46px;border:1px solid var(--linha);background:var(--branco);cursor:pointer;color:var(--tinta);border-radius:var(--raio);position:relative}
.btn-menu svg{transition:opacity .18s var(--ease),transform var(--dur) var(--ease)}
.btn-menu::before,.btn-menu::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:1.2px;background:currentColor;opacity:0;transform:translate(-50%,-50%) rotate(0);transition:opacity .18s var(--ease),transform var(--dur) var(--ease)}
.btn-menu[aria-expanded="true"] svg{opacity:0;transform:scaleX(.4)}
.btn-menu[aria-expanded="true"]::before{opacity:1;transform:translate(-50%,-50%) rotate(45deg)}
.btn-menu[aria-expanded="true"]::after{opacity:1;transform:translate(-50%,-50%) rotate(-45deg)}
@media (max-width:980px){
  .btn-menu{display:inline-grid;place-items:center}
  .menu{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--branco);border-bottom:1px solid var(--linha);padding:6px var(--gutter) 24px;max-height:calc(100vh - 84px);overflow:auto}
  .menu.aberto{display:flex;animation:surge var(--dur) var(--ease)}
  .drop.aberto .painel{animation:surge var(--dur) var(--ease)}
  .menu > a,.menu .drop > button{padding:15px 0;border-bottom:1px solid var(--linha);width:100%;justify-content:space-between}
  .menu > a::after,.menu .drop > button::after{display:none}
  .drop .painel{position:static;transform:none;width:auto;box-shadow:none;border:0;padding:8px 0 16px 14px;grid-template-columns:1fr;gap:14px;display:none;opacity:1;visibility:visible;margin-top:0}
  .drop.aberto .painel{display:grid}
  .drop:hover .painel{display:none}.drop.aberto:hover .painel{display:grid}
  .drop .painel::before{display:none}
  .menu .btn{margin-top:20px}
}

/* Linha sinuosa (a linha de LED das paredes) */
.sinuosa{position:absolute;pointer-events:none;color:var(--latao)}
.sinuosa path{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}
.sinuosa .brilho{stroke:#fff;stroke-width:5;opacity:.9;filter:blur(3px)}
/* único movimento sem ação do visitante: a linha do topo se desenha ao carregar, como o LED acendendo.
   820 cobre o comprimento do traço (815 no viewBox). */
.hero .sinuosa path,.pagina-topo .sinuosa path{stroke-dasharray:820;animation:traca 1.6s cubic-bezier(.65,0,.35,1) .2s both}
.hero .sinuosa .brilho,.pagina-topo .sinuosa .brilho{animation:traca 1.6s cubic-bezier(.65,0,.35,1) .2s both,acende .9s ease 1.4s both}
@keyframes traca{from{stroke-dashoffset:820}}
@keyframes acende{from{opacity:0}}

/* Hero da home */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--marfim),var(--onix))}
.hero .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;padding-block:clamp(48px,7vw,96px)}
.hero h1{font-size:var(--t-5);font-weight:400;margin-top:22px}
.hero h1 em{font-style:normal;color:var(--latao-escuro)}
.hero .lead{margin-top:24px}
.hero .acoes{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:38px}
.hero-foto{position:relative;min-width:0}
.hero-foto img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--raio)}
.hero-foto .moldura{position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--latao);opacity:.45;z-index:-1}
.hero .sinuosa{left:-40px;top:0;height:100%;width:140px;opacity:.55}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero-foto{order:-1}.hero-foto img{aspect-ratio:4/3}.hero-foto .moldura{inset:12px -10px -10px 12px}.hero .sinuosa{display:none}}

.selos{background:var(--branco);border-block:1px solid var(--linha)}
.selos .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.selos .wrap > div{padding:26px 24px 26px 0;display:flex;gap:16px;align-items:flex-start}
.selos .wrap > div+div{padding-left:28px;border-left:1px solid var(--linha)}
.selos svg{flex-shrink:0;color:var(--latao);margin-top:4px}
.selos strong{display:block;font-weight:500;font-size:1rem;margin-bottom:2px}
.selos span{font-size:.88rem;color:var(--tinta-suave)}
@media (max-width:820px){.selos .wrap{grid-template-columns:1fr}.selos .wrap > div,.selos .wrap > div+div{padding:18px 0;border-left:0}.selos .wrap > div+div{border-top:1px solid var(--linha)}}

/* Seções */
.secao{padding-block:var(--esp-secao)}
.pagina-topo + .secao{padding-top:var(--esp-topo)}
.secao.bege{background:var(--parede)}
.secao.branca{background:var(--branco)}
.cabeca{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,56px)}
.cabeca h2{font-size:var(--t-4);margin-top:14px;font-weight:400}
.cabeca .lead{max-width:30em}

.duas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,88px);align-items:center}
.duas h2{font-size:var(--t-4);font-weight:400;margin:-4px 0 6px}
.duas .texto{display:grid;gap:18px;min-width:0}
.duas .texto p{color:var(--tinta-suave)}
.duas .texto .link-seta{justify-self:start;margin-top:8px}
.foto-arco img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px var(--raio) var(--raio)}
@media (max-width:860px){.duas{grid-template-columns:1fr}.foto-arco img{aspect-ratio:1/1;max-height:520px}}

/* Áreas de atuação */
.areas{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.area{background:var(--branco);border:1px solid var(--linha);display:grid;grid-template-rows:auto 1fr;min-width:0}
.area img{width:100%;aspect-ratio:16/10;object-fit:cover}
.area .corpo{padding:30px 32px 34px;display:grid;gap:14px;align-content:start}
.area h3{font-size:var(--t-2);font-weight:400}
.area p{color:var(--tinta-suave);font-size:var(--t-sec)}
.area ul{list-style:none;margin-top:8px;border-top:1px solid var(--linha)}
.area li a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--linha);font-family:var(--serif);font-size:var(--t-1);transition:color var(--dur) var(--ease),padding var(--dur) var(--ease)}
.area li a:hover{color:var(--latao-escuro);padding-left:6px}
.area li a svg{color:var(--latao);flex-shrink:0}
@media (max-width:860px){.areas{grid-template-columns:1fr}}

/* Frase da parede */
.frase{position:relative;overflow:hidden;background:var(--onix)}
.frase .wrap{position:relative;padding-block:var(--esp-secao)}
.frase blockquote{margin:0;font-family:var(--sans);font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(1.5rem,3.4vw,2.7rem);line-height:1.3;max-width:20em;text-wrap:balance;color:var(--tinta)}
.frase blockquote span{color:var(--latao-escuro)}
.frase figcaption{margin-top:22px;font-size:.84rem;letter-spacing:.08em;color:var(--tinta-suave)}
.frase .sinuosa{right:4%;top:-10%;height:120%;width:180px;opacity:.8}
@media (max-width:700px){.frase .sinuosa{opacity:.3;right:-40px}}

/* Galeria */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}
.galeria figure{margin:0;position:relative;overflow:hidden;min-width:0}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.galeria figure:hover img{transform:scale(1.03)}
.galeria figcaption{position:absolute;left:0;bottom:0;right:0;padding:28px 16px 12px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(46,37,30,.55))}
.galeria .g-a{grid-column:span 2;grid-row:span 2}
.galeria .g-b{grid-row:span 2}
.galeria.completa{grid-auto-rows:240px}
.galeria.completa figure:nth-child(n+5){grid-column:span 2}
@media (max-width:860px){.galeria{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.galeria .g-b{grid-row:span 1}}
@media (max-width:520px){.galeria{grid-template-columns:1fr;grid-auto-rows:240px}.galeria .g-a{grid-column:auto;grid-row:span 1}}

/* Corpo clínico */
.perfil{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,88px);align-items:center}
.retrato{aspect-ratio:4/5;background:repeating-linear-gradient(135deg,rgba(176,138,62,.10) 0 1px,transparent 1px 14px),var(--parede);border:1px solid var(--linha);display:grid;place-items:center;text-align:center;padding:20px;max-width:100%}
.retrato span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-suave);line-height:1.7}
/* foto real no lugar da moldura: mesmo formato (4:5, quadrado no mobile), rosto no terço de cima */
.retrato.foto{padding:0;width:100%;height:auto;background:var(--parede);object-fit:cover;object-position:50% 18%}
.perfil h2{font-size:var(--t-4);font-weight:400;margin-top:14px}
.perfil .cargo{font-family:var(--serif);font-size:1.2rem;color:var(--latao-escuro);margin-top:8px}
.perfil .texto{display:grid;gap:16px;margin-top:24px;color:var(--tinta-suave);max-width:36em}
.credenciais{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.credenciais span{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;padding:.55rem .9rem;border:1px solid var(--linha);background:var(--branco)}
.pendente{border-bottom:1px dashed var(--latao);color:var(--latao-escuro)}
@media (max-width:860px){.perfil{grid-template-columns:1fr}.retrato{max-width:380px}}

/* Contato (faixa) */
.faixa-contato{background:var(--branco);border-top:1px solid var(--linha)}
.faixa-contato .wrap{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px 40px;align-items:start;padding-block:56px}
.faixa-contato h2{font-size:var(--t-3);font-weight:400}
.faixa-contato dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--latao-escuro);font-weight:500}
.faixa-contato dd{margin:8px 0 0;color:var(--tinta-suave);font-size:var(--t-sec)}
.faixa-contato dd a{color:var(--tinta);border-bottom:1px solid var(--linha);overflow-wrap:anywhere}
@media (max-width:900px){.faixa-contato .wrap{grid-template-columns:1fr 1fr}.faixa-contato .wrap > div:first-child{grid-column:1/-1}}
@media (max-width:520px){.faixa-contato .wrap{grid-template-columns:1fr}}

/* Cabeçalho de página interna */
.pagina-topo{background:linear-gradient(180deg,var(--marfim),var(--onix));border-bottom:1px solid var(--linha);position:relative;overflow:hidden}
.pagina-topo .wrap{padding-block:clamp(40px,6vw,72px) clamp(40px,5vw,64px);position:relative}
.trilha{display:flex;flex-wrap:wrap;gap:8px;font-size:.78rem;letter-spacing:.08em;color:var(--tinta-suave)}
.trilha a:hover{color:var(--latao-escuro)}
.trilha span[aria-hidden]{color:var(--latao)}
.pagina-topo h1{font-size:var(--t-5);font-weight:400;margin-top:22px}
.pagina-topo .lead{margin-top:18px}
.pagina-topo .tag-area{margin-top:22px}
.pagina-topo .sinuosa{right:6%;top:-20%;height:140%;width:150px;opacity:.5}
@media (max-width:700px){.pagina-topo .sinuosa{display:none}}
.banner img{width:100%;height:clamp(260px,38vw,480px);object-fit:cover}

/* Pilares */
.pilares{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linha)}
.pilares article{padding:32px 32px 8px 0}
.pilares article+article{padding-left:32px;border-left:1px solid var(--linha)}
.pilares h3{font-size:var(--t-2);font-weight:400;color:var(--latao-escuro)}
.pilares p{margin-top:12px;color:var(--tinta-suave);font-size:var(--t-sec)}
@media (max-width:800px){.pilares{grid-template-columns:1fr}.pilares article,.pilares article+article{padding:24px 0;border-left:0;border-bottom:1px solid var(--linha)}}

/* Lista de procedimentos */
.lista-proc{border-top:1px solid var(--tinta)}
.lista-proc a{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:8px 40px;align-items:center;padding:28px 0;border-bottom:1px solid var(--linha);transition:background var(--dur) var(--ease),padding var(--dur) var(--ease)}
.lista-proc a:hover{background:var(--branco);padding-inline:18px}
.lista-proc .nome{font-family:var(--serif);font-size:var(--t-2);line-height:1.15}
.lista-proc .desc{color:var(--tinta-suave);font-size:var(--t-sec)}
.lista-proc .mais{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--latao-escuro);display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
@media (max-width:760px){.lista-proc a{grid-template-columns:1fr}.lista-proc .mais{margin-top:6px}}
.bloco-area + .bloco-area{margin-top:clamp(64px,8vw,100px)}
.bloco-area .topo{display:grid;grid-template-columns:320px minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.bloco-area .topo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.bloco-area h2{font-size:var(--t-3);font-weight:400;margin:14px 0 14px}
.bloco-area .lead{margin-bottom:32px}
@media (max-width:860px){.bloco-area .topo{grid-template-columns:1fr}.bloco-area .topo img{aspect-ratio:16/9}}

/* Página de procedimento */
.proc{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(40px,6vw,80px);align-items:start}
.proc .conteudo{display:grid;gap:clamp(48px,6vw,72px)}
.proc h2{font-size:var(--t-3);font-weight:400;margin-bottom:20px}
.proc .conteudo > section > p{color:var(--tinta-suave);max-width:34em}
.indicacoes{list-style:none;display:grid;border-top:1px solid var(--linha)}
.indicacoes li{padding:16px 0 16px 32px;border-bottom:1px solid var(--linha);position:relative}
.indicacoes li::before{content:"";position:absolute;left:2px;top:28px;width:16px;height:1px;background:var(--latao)}
.etapas{list-style:none;counter-reset:e;display:grid;grid-template-columns:1fr 1fr;gap:0}
.etapas li{counter-increment:e;padding:22px 24px 22px 0;border-top:1px solid var(--linha);display:grid;gap:6px}
.etapas li:nth-child(even){padding-left:24px;border-left:1px solid var(--linha)}
.etapas li::before{content:counter(e,decimal-leading-zero);font-family:var(--sans);font-weight:300;font-size:1.55rem;letter-spacing:.04em;color:var(--latao);line-height:1;font-variant-numeric:lining-nums tabular-nums} /* na Marcellus o zero parece a letra O */
.etapas strong{font-weight:500}
.etapas span{color:var(--tinta-suave);font-size:var(--t-sec)}
@media (max-width:560px){.etapas{grid-template-columns:1fr}.etapas li:nth-child(even){padding-left:0;border-left:0}}
.faq details{border-bottom:1px solid var(--linha)}
.faq details:first-of-type{border-top:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-family:var(--serif);font-size:var(--t-1);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-weight:300;font-size:1.5rem;color:var(--latao);transition:transform var(--dur) var(--ease)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 44px 22px 0;color:var(--tinta-suave)}
.faq summary{transition:color var(--dur) var(--ease)}
.faq summary:hover{color:var(--latao-escuro)}
@supports selector(::details-content){
  .faq details{interpolate-size:allow-keywords}
  .faq details::details-content{block-size:0;overflow:hidden;transition:block-size .36s var(--ease),content-visibility .36s allow-discrete}
  .faq details[open]::details-content{block-size:auto}
}
.aviso{font-size:.84rem;color:var(--tinta-suave);padding:18px 20px;background:var(--parede);border-left:2px solid var(--latao)}
.lateral{position:sticky;top:108px;display:grid;gap:18px}
.cartao{background:var(--branco);border:1px solid var(--linha)}
.cartao img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cartao .corpo{padding:24px 26px 28px;display:grid;gap:16px}
.cartao dl{margin:0;display:grid;gap:12px}
.cartao dt{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--latao-escuro)}
.cartao dd{margin:2px 0 0;font-size:var(--t-sec)}
.cartao .btn{width:100%}
.cartao h3{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--latao-escuro);font-weight:500}
.cartao ul{list-style:none}
.cartao li a{display:block;padding:9px 0;border-bottom:1px solid var(--linha);font-family:var(--serif);font-size:1.08rem}
.cartao li a:hover{color:var(--latao-escuro)}
@media (max-width:980px){.proc{grid-template-columns:1fr}.lateral{position:static}}

/* Contato */
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start}
.info-lista{display:grid;border-top:1px solid var(--linha)}
.info-lista div{padding:22px 0;border-bottom:1px solid var(--linha);display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px}
.info-lista dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--latao-escuro);padding-top:4px}
.info-lista dd{margin:0;overflow-wrap:anywhere}
.info-lista dd a{border-bottom:1px solid var(--linha);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.info-lista dd a:hover{color:var(--latao-escuro);border-color:var(--latao)}
.form{background:var(--branco);border:1px solid var(--linha);padding:clamp(24px,4vw,40px);display:grid;gap:18px}
.form h2{font-size:var(--t-3);font-weight:400}
.form p{color:var(--tinta-suave);font-size:var(--t-sec)}
.campo{display:grid;gap:8px}
.campo label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-suave)}
.campo input,.campo select{font:inherit;font-size:1rem;padding:.85rem 1rem;border:1px solid var(--linha);background:var(--marfim);color:var(--tinta);border-radius:var(--raio);width:100%}
.campo input:focus,.campo select:focus{border-color:var(--latao);outline:none}
@media (max-width:860px){.contato-grid{grid-template-columns:1fr}.info-lista div{grid-template-columns:1fr;gap:4px}}

/* Chamada simples de fim de página */
.chamada{background:var(--parede);border-top:1px solid var(--linha)}
.chamada .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px 48px;flex-wrap:wrap;padding-block:56px}
.chamada h2{font-size:var(--t-3);font-weight:400;max-width:20em}
.chamada p{color:var(--tinta-suave);margin-top:8px}

/* Rodapé */
.rodape{background:var(--cafe);color:rgba(246,236,223,.68);font-size:.9rem}
.rodape .wrap{padding-block:64px 36px}
.rodape .colunas{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.rodape .logo{height:86px;width:auto}
.rodape .sobre p{margin-top:18px;max-width:22em}
.rodape h4{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ouro-logo);font-weight:500;margin-bottom:14px}
.rodape ul{list-style:none;display:grid;gap:8px}
.rodape a:hover{color:#fff}
.rodape .h-redes{margin-top:26px}
.rodape .base{margin-top:48px;padding-top:24px;border-top:1px solid rgba(246,236,223,.14);display:flex;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;font-size:.82rem}
.rodape .base strong{color:rgba(246,236,223,.9);font-weight:500}
@media (max-width:900px){.rodape .colunas{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.rodape .colunas{grid-template-columns:1fr}}

@keyframes surge{from{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ===== Experiência mobile institucional ===== */
.cab-acoes{display:flex;gap:10px;align-items:center}
.btn-whats-m{display:none;width:46px;height:46px;border:1px solid var(--linha);border-radius:var(--raio);place-items:center;color:var(--latao-escuro);background:var(--branco)}
.btn-whats-m svg{width:18px;height:18px}
.menu-info{display:none}
.atalhos,.abas,.barra-m{display:none}

@media (max-width:760px){
  :root{--t-5:1.95rem;--t-4:1.65rem;--t-3:1.42rem;--t-2:1.28rem;--t-1:1.08rem;--esp-topo:40px}
  body{font-size:16px;padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  .topbar{display:none}
  .cab{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--branco)}
  .cab .wrap{height:64px}
  .marca .lotus{height:32px}.marca .palavra{height:14px}
  .btn-whats-m{display:inline-grid}
  .btn-menu{width:46px;height:46px}
  .menu{top:64px;max-height:calc(100vh - 64px - 68px);padding-bottom:28px}
  .menu > .btn{display:none}
  .menu-info{display:grid;gap:10px;margin-top:20px;font-size:.88rem;color:var(--tinta-suave)}
  .menu-info span,.menu-info a{display:inline-flex;gap:10px;align-items:center}
  .menu-info svg{color:var(--latao)}

  /* títulos e ritmo mais contidos */
  .secao{padding-block:52px}
  .cabeca{margin-bottom:26px;gap:12px}
  .lead{font-size:1rem}
  .eyebrow{font-size:.68rem;letter-spacing:.2em}
  .eyebrow::before{width:18px}

  /* hero compacto, como capa de site */
  .hero .wrap{padding-block:18px 28px;gap:22px}
  .hero-foto img{aspect-ratio:16/10}
  .hero-foto .moldura{display:none}
  .hero h1{font-size:1.8rem;margin-top:12px}
  .hero .lead{margin-top:12px;font-size:.98rem}
  .hero .acoes{display:none}

  /* atalhos em grade */
  .atalhos{display:block;background:var(--marfim);padding-bottom:28px}
  .atalhos .wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .atalhos a{background:var(--branco);border:1px solid var(--linha);padding:16px 14px;display:grid;gap:2px;min-width:0;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
  .atalhos a:active{background:var(--onix);border-color:var(--latao)}
  .atalhos svg{color:var(--latao);margin-bottom:8px}
  .atalhos strong{font-weight:500;font-size:.95rem}
  .atalhos span{font-size:.78rem;color:var(--tinta-suave);line-height:1.4}

  /* selos em linha compacta */
  .selos .wrap > div,.selos .wrap > div+div{padding:14px 0;gap:12px}
  .selos svg{width:18px;height:18px}
  .selos strong{font-size:.9rem}.selos span{font-size:.82rem}

  .foto-arco img{aspect-ratio:16/11;border-radius:var(--raio)}
  .duas{gap:24px}

  /* abas Face / Odontologia */
  .abas{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--linha);background:var(--branco);margin-bottom:14px;border-radius:var(--raio)}
  .abas button{font:inherit;font-size:.9rem;letter-spacing:.01em;font-weight:500;padding:14px 8px;border:0;background:transparent;color:var(--tinta-suave);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
  .abas button[aria-selected="true"]{background:var(--tinta);color:var(--marfim)}
  .area{display:none}.area.ativa{display:grid}
  .area img{aspect-ratio:16/8}
  .area .corpo{padding:20px 18px 22px}
  .area li a{padding:12px 0}

  /* galeria em carrossel deslizante */
  .galeria,.galeria.completa{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none;grid-auto-rows:auto}
  .galeria::-webkit-scrollbar{display:none}
  .galeria figure,.galeria .g-a,.galeria .g-b{flex:0 0 78%;height:300px;scroll-snap-align:start;grid-column:auto;grid-row:auto}

  .frase .wrap{padding-block:48px}
  .frase blockquote{font-size:1.3rem;letter-spacing:.12em}
  .frase .sinuosa{display:none}

  .perfil{gap:24px}
  .retrato{aspect-ratio:1/1;max-width:100%}

  /* faixa de contato em lista */
  .faixa-contato .wrap{grid-template-columns:1fr;gap:0;padding-block:36px}
  .faixa-contato .wrap > div:first-child{margin-bottom:18px}
  .faixa-contato dl{margin:0;padding:14px 0;border-top:1px solid var(--linha);display:grid;grid-template-columns:110px 1fr;gap:10px}
  .faixa-contato dd{margin:0}

  /* páginas internas */
  .pagina-topo .wrap{padding-block:22px 28px}
  .pagina-topo h1{margin-top:14px}
  .pagina-topo .lead{margin-top:10px}
  .banner img{height:220px}
  .lista-proc a{grid-template-columns:minmax(0,1fr) auto;padding:18px 0;gap:4px 16px}
  .lista-proc a:hover{padding-inline:0}
  .lista-proc .nome{grid-column:1}
  .lista-proc .desc{grid-column:1;font-size:.88rem}
  .lista-proc .mais{grid-column:2;grid-row:1/3;font-size:0;gap:0;width:38px;height:38px;border:1px solid var(--linha);justify-content:center}
  .lista-proc .mais svg{width:14px;height:14px}
  .bloco-area .topo img{aspect-ratio:16/8}
  .bloco-area h2{margin-top:8px}
  .bloco-area .lead{margin-bottom:16px}
  .proc{gap:36px}
  .proc .conteudo{gap:40px}
  .proc h2{margin-bottom:14px}
  .etapas li{padding:16px 0}
  .faq summary{padding:18px 40px 18px 0}
  .lateral .cartao img{display:none}
  .lateral .cartao .btn{display:none}
  .chamada .wrap{padding-block:36px}
  .chamada .btn{width:100%}
  .info-lista div{padding:16px 0}

  /* rodapé compacto */
  .rodape .wrap{padding-block:40px 24px}
  .rodape .colunas{grid-template-columns:1fr 1fr;gap:28px 20px}
  .rodape .sobre{grid-column:1/-1}
  .rodape .logo{height:64px}
  .rodape .base{margin-top:28px;font-size:.78rem}

  .hero .lead{display:none}
  .menu{position:fixed;top:64px;bottom:0;max-height:none;border-bottom:0;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  body.menu-aberto{overflow:hidden}
  .etapas li{grid-template-columns:44px 1fr;gap:2px 10px;padding:14px 0}
  .etapas li::before{grid-row:1/3;font-size:1.3rem}
  .rodape .col-proc{display:none}
  .rodape .h-redes{margin-top:0}

  /* barra de navegação inferior */
  .barra-m{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:45;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--linha);padding-bottom:env(safe-area-inset-bottom,0px)}
  .barra-m a{display:grid;justify-items:center;gap:3px;padding:9px 2px 8px;font-size:.66rem;letter-spacing:.04em;color:var(--tinta-suave)}
  .barra-m a svg{width:20px;height:20px}
  .barra-m a[aria-current="page"]{color:var(--latao-escuro)}
  .barra-m a.agendar{color:var(--latao-escuro);font-weight:500}
  .barra-m a.agendar svg{width:42px;height:42px;padding:11px;margin-top:-20px;border-radius:50%;background:var(--latao);color:#fff;box-shadow:0 6px 16px -6px rgba(134,103,42,.6);transition:transform .12s var(--ease),background .12s}
  .barra-m a.agendar:active svg{transform:scale(.93);background:var(--latao-escuro)}
  .barra-m a:active{color:var(--latao-escuro)}
}
