/* ===========================================================
   Clínica Marcella Ledo — sistema de design
   Luxo discreto: muito espaço, tipografia editorial,
   neutros quentes, linhas de 1px, movimento lento.
   =========================================================== */

:root{
  /* Paleta da marca */
  --primaria:#6E1D24;          /* vinho — 11,26:1 com branco */
  --secundaria:#EFE9E1;
  --acento:#A88B5D;            /* dourado — 3,04:1: só linhas e detalhes */
  --acento-texto:#8A6D3B;      /* dourado escurecido — 4,57:1: rótulos */

  /* Derivadas */
  --primaria-escura:#581720;
  --primaria-suave:#F4ECEB;

  /* Neutros quentes — nunca preto ou branco puros */
  --texto:#1F1D1A;             /* 15,86:1 */
  --texto-suave:#5C574F;       /* 6,76:1 */
  --fundo:#FAF8F5;
  --fundo-alt:#F2EEE8;
  --fundo-escuro:#1C1B19;
  --linha:rgba(31,29,26,.14);
  --linha-forte:rgba(31,29,26,.26);

  /* Agendar: cor da marca com ícone do WhatsApp. O verde do app não entra. */
  --cta:var(--primaria);
  --cta-texto:#FFFFFF;

  /* Forma e espaço */
  --raio:4px;
  --raio-md:6px;
  --largura:76rem;
  --espaco:clamp(1.25rem,.8rem + 2.5vw,3rem);
  --secao:clamp(5rem,3rem + 8vw,10rem);
  --gut-l:max(1.25rem,env(safe-area-inset-left,0px));
  --gut-r:max(1.25rem,env(safe-area-inset-right,0px));

  /* Tipografia */
  --fonte-titulo:"Cormorant Garamond","Times New Roman",Georgia,serif;
  --fonte-texto:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --texto-base:clamp(1.0625rem,1rem + .3vw,1.1875rem);
  --h1:clamp(2.75rem,1.6rem + 5vw,5.5rem);
  --h2:clamp(2rem,1.4rem + 2.6vw,3.5rem);
  --h3:clamp(1.5rem,1.2rem + 1.2vw,2.125rem);
  --rotulo:.75rem;

  /* Movimento */
  --suave:cubic-bezier(.22,1,.36,1);
  --rapido:160ms;
  --medio:400ms;
  --lento:800ms;

  /* Barra fixa do celular */
  --barra:0px;
}

@media (max-width:860px){ :root{ --barra:4.5rem } }

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--fundo);
  color:var(--texto);
  font-family:var(--fonte-texto);
  font-size:var(--texto-base);
  font-weight:400;
  line-height:1.6;
  padding-bottom:calc(var(--barra) + env(safe-area-inset-bottom,0px));
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:var(--primaria)}
p{margin:0 0 1em;text-wrap:pretty;max-width:60ch}
p:last-child{margin-bottom:0}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance;letter-spacing:-.02em}
h1,h2,h3{font-family:var(--fonte-titulo);line-height:1.05}
h1{font-size:var(--h1)}
h2{font-size:var(--h2)}
h3{font-size:var(--h3)}
h4{font-family:var(--fonte-texto);font-size:1.0625rem;font-weight:700;letter-spacing:0;line-height:1.35}
strong,b{font-weight:700}
::selection{background:var(--secundaria);color:var(--texto)}

:where(a,button,summary,[tabindex]):focus-visible{
  outline:3px solid var(--primaria);
  outline-offset:3px;
  border-radius:2px;
}

.pular{
  position:absolute;left:0;top:0;z-index:999;
  width:1px;height:1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;
  background:var(--primaria);color:#fff;
  text-decoration:none;border-radius:0 0 var(--raio) 0;
}
.pular:focus{
  width:auto;height:auto;padding:.9rem 1.25rem;
  clip-path:none;overflow:visible;
}

/* ---------- estrutura ---------- */
.env{
  max-width:var(--largura);margin-inline:auto;
  padding-left:var(--gut-l);padding-right:var(--gut-r);
}
.secao{padding-block:var(--secao)}
.secao--alt{background:var(--fundo-alt)}
.secao--escura{background:var(--fundo-escuro);color:#EDEAE4}
.secao--escura h2,.secao--escura h3{color:#FBF8F3}
.secao--escura p{color:#CFC9C0}
.secao--compacta{padding-block:calc(var(--secao) * .55)}
.leitura{max-width:60ch}

.rotulo{
  font-size:var(--rotulo);line-height:1.4;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--acento-texto);font-weight:700;
  margin:0 0 1rem;
}
.secao--escura .rotulo{color:#D9BE8A}
.cabeca{max-width:46ch;margin-bottom:clamp(2.5rem,5vw,4rem)}
.cabeca p{color:var(--texto-suave);margin-top:1.25rem;font-size:1.0625rem}
.secao--escura .cabeca p{color:#CFC9C0}

/* ---------- cabeçalho ---------- */
.cabecalho{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:60;
  isolation:isolate;
}
.cabecalho::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--fundo);border-bottom:1px solid var(--linha);
}
body::before{
  content:"";position:fixed;inset:0 0 auto;z-index:61;
  height:env(safe-area-inset-top,0px);background:var(--fundo);
}
.cabecalho__in{
  max-width:var(--largura);margin-inline:auto;
  padding-left:var(--gut-l);padding-right:var(--gut-r);
  padding-block:.875rem;
  display:flex;align-items:center;gap:1.5rem;
}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex:none}
.logo__mono{font-family:var(--fonte-titulo);font-size:1.75rem;line-height:1;color:var(--acento-texto);letter-spacing:-.06em}
.logo__txt{display:flex;flex-direction:column;line-height:1.1}
.logo__sup{font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;color:var(--texto-suave)}
.logo__nome{font-family:var(--fonte-titulo);font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--texto)}

.menu{display:flex;gap:1.75rem;margin-left:auto;align-items:center}
.menu a{
  text-decoration:none;color:var(--texto-suave);font-size:.9375rem;
  padding-block:.35rem;position:relative;
}
.menu a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--primaria);transition:right var(--medio) var(--suave);
}
.menu a:hover{color:var(--texto)}
.menu a:hover::after{right:0}
.menu a[aria-current="page"]{color:var(--primaria);font-weight:700}
.menu a[aria-current="page"]::after{right:0}

.menu-bt{
  display:none;margin-left:auto;font:inherit;font-size:.875rem;
  background:transparent;border:1px solid var(--linha-forte);border-radius:var(--raio);
  padding:.7rem .95rem;color:var(--texto);cursor:pointer;min-height:44px;
}
.cabecalho .btn{flex:none}

@media (max-width:1040px){
  .menu{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--fundo);border-bottom:1px solid var(--linha);
    padding:.25rem var(--gut-r) 1rem var(--gut-l);
  }
  .menu.aberto{display:flex}
  .menu a{padding-block:.95rem;border-bottom:1px solid var(--linha);font-size:1rem;min-height:44px;display:flex;align-items:center}
  .menu a::after{display:none}
  .menu-bt{display:block}
  .cabecalho .btn--cab{display:none}
}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--fonte-texto);font-size:.9375rem;font-weight:700;
  line-height:1.2;letter-spacing:.01em;text-decoration:none;
  padding:1rem 1.6rem;min-height:44px;
  border:1px solid transparent;border-radius:var(--raio);
  cursor:pointer;
}
.btn--principal{background:var(--cta);color:var(--cta-texto)}
.btn--principal:hover{background:var(--primaria-escura)}
.btn--linha{background:transparent;color:var(--texto);border-color:var(--linha-forte)}
.btn--linha:hover{border-color:var(--primaria);color:var(--primaria)}
.btn--claro{background:#FBF8F3;color:var(--primaria)}
.btn--cab{padding:.7rem 1.15rem;font-size:.875rem}
.btn svg{width:1.125rem;height:1.125rem;flex:none}

.acoes{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.ligar{
  font-size:.9375rem;color:var(--texto-suave);text-decoration:none;
  border-bottom:1px solid var(--linha-forte);padding-block:.2rem;
}
.ligar:hover{color:var(--primaria);border-color:var(--primaria)}

.aviso-horario{
  font-size:.875rem;color:var(--texto-suave);margin:.9rem 0 0;max-width:42ch;
}
.aviso-horario b{color:var(--texto)}

/* ---------- hero ---------- */
.hero{position:relative;padding-block:clamp(3rem,6vw,5.5rem) clamp(3rem,6vw,5rem)}
.hero__grade{
  display:grid;grid-template-columns:7fr 5fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
.hero h1{margin-bottom:1.5rem}
.hero h1 em{font-style:italic;color:var(--primaria)}
.hero__sub{font-size:1.1875rem;color:var(--texto-suave);max-width:44ch;margin-bottom:2rem}
.hero__foto{width:100%;max-width:34rem;justify-self:end}
.hero__foto img{
  border-radius:var(--raio-md);
  mask-image:linear-gradient(to bottom,#000 82%,transparent 100%),
             linear-gradient(to right,transparent 0,#000 16%,#000 96%,transparent 100%),
             linear-gradient(to bottom,transparent 0,#000 8%);
  -webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent 100%),
             linear-gradient(to right,transparent 0,#000 16%,#000 96%,transparent 100%),
             linear-gradient(to bottom,transparent 0,#000 8%);
  mask-composite:intersect;-webkit-mask-composite:source-in;
}
@media (max-width:860px){
  .hero__grade{grid-template-columns:1fr;gap:2rem}
  .hero__foto{order:-1;max-width:22rem;justify-self:start}
}

/* linha de confiança */
.confianca{
  border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);
  padding-block:1.5rem;display:flex;flex-wrap:wrap;gap:.6rem 2.5rem;
}
.confianca div{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.confianca dt{font-size:var(--rotulo);letter-spacing:.14em;text-transform:uppercase;color:var(--acento-texto);font-weight:700}
.confianca dd{margin:0;font-size:.9375rem;color:var(--texto-suave)}
.confianca dd b{color:var(--texto);font-weight:700}

/* ---------- grades e cards ---------- */
.grade{display:grid;gap:1.5rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.g2,.g3,.g4{grid-template-columns:1fr}}

.card{
  display:flex;flex-direction:column;gap:.7rem;min-width:0;
  padding:1.75rem;border:1px solid var(--linha);border-radius:var(--raio);
  background:var(--fundo);text-decoration:none;color:inherit;
  container-type:inline-size;
}
a.card:hover{border-color:var(--linha-forte)}
.card h3{font-size:1.375rem}
.card p{font-size:.9375rem;color:var(--texto-suave);margin:0}
.card__itens{margin:.25rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem}
.card__itens li{font-size:.875rem;color:var(--texto-suave);padding-left:.9rem;position:relative}
.card__itens li::before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background:var(--acento)}
.card__ir{
  margin-top:auto;padding-top:1rem;font-size:.875rem;font-weight:700;
  color:var(--primaria);display:inline-flex;align-items:center;gap:.4rem;
}

/* card de médico */
.medico{
  display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start;
  padding:1.75rem;border:1px solid var(--linha);border-radius:var(--raio);
}
.medico__foto{width:7.5rem;border-radius:var(--raio);overflow:hidden;flex:none}
.medico h3{font-size:1.5rem;margin-bottom:.35rem}
.medico__reg{font-size:.875rem;color:var(--texto-suave);margin:0 0 .9rem;line-height:1.5}
.medico__reg b{color:var(--texto)}
@media (max-width:520px){.medico{grid-template-columns:1fr}.medico__foto{width:6rem}}

/* ---------- passos ---------- */
.passos{list-style:none;margin:0;padding:0;counter-reset:p;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.passos{grid-template-columns:1fr}}
.passos li{counter-increment:p;padding-top:1.25rem;border-top:1px solid var(--linha);min-width:0}
.passos li::before{
  content:counter(p,decimal-leading-zero);display:block;
  font-family:var(--fonte-titulo);font-size:1.5rem;color:var(--acento-texto);margin-bottom:.5rem;
}
.passos h3{font-size:1.25rem;margin-bottom:.4rem}
.passos p{font-size:.9375rem;color:var(--texto-suave);margin:0}

/* ---------- conteúdo clínico ---------- */
.artigo{max-width:62ch}
.artigo h2{margin:clamp(2.75rem,5vw,4rem) 0 1.1rem}
.artigo h2:first-child{margin-top:0}
.artigo h3{font-size:1.375rem;margin:2.25rem 0 .75rem}
.artigo p,.artigo li{color:var(--texto-suave)}
.artigo strong{color:var(--texto)}
.artigo ul,.artigo ol{margin:0 0 1em;padding-left:1.15rem;display:flex;flex-direction:column;gap:.55rem}
.artigo li::marker{color:var(--acento-texto)}
.definicao{font-size:1.1875rem;color:var(--texto)!important;max-width:58ch}

.alerta{
  border-left:2px solid var(--primaria);background:var(--primaria-suave);
  padding:1.25rem 1.4rem;border-radius:0 var(--raio) var(--raio) 0;margin:1.75rem 0;
}
.alerta h3{font-size:1.125rem;font-family:var(--fonte-texto);font-weight:700;letter-spacing:0;margin:0 0 .5rem}
.alerta p{margin:0;color:var(--texto)}
.alerta p + p{margin-top:.6rem}

.destaque{
  border:1px solid var(--linha);border-left:2px solid var(--acento);
  padding:1.25rem 1.4rem;border-radius:0 var(--raio) var(--raio) 0;margin:1.75rem 0;
  background:var(--fundo-alt);
}
.destaque p{margin:0;color:var(--texto-suave)}

/* trilha */
.trilha{font-size:.8125rem;color:var(--texto-suave);padding-block:1.25rem}
.trilha ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.trilha a{color:var(--texto-suave);text-decoration:none;border-bottom:1px solid var(--linha)}
.trilha a:hover{color:var(--primaria)}
.trilha li:not(:last-child)::after{content:"/";margin-left:.4rem;color:var(--linha-forte)}
.trilha [aria-current]{color:var(--texto)}

/* meta de artigo */
.meta{
  display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;align-items:center;
  font-size:.875rem;color:var(--texto-suave);
  padding-block:1rem;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);
  margin-bottom:clamp(2rem,4vw,3rem);
}
.meta a{color:var(--primaria);text-decoration:none;border-bottom:1px solid var(--linha)}

/* ---------- tabela comparativa ---------- */
.tabela-rolagem{overflow-x:auto;margin:1.75rem 0;border:1px solid var(--linha);border-radius:var(--raio)}
table{border-collapse:collapse;width:100%;min-width:38rem;font-size:.9375rem}
caption{text-align:left;padding:1rem 1.25rem;font-size:.875rem;color:var(--texto-suave);border-bottom:1px solid var(--linha)}
th,td{text-align:left;padding:.95rem 1.25rem;border-bottom:1px solid var(--linha);vertical-align:top}
thead th{
  font-family:var(--fonte-texto);font-size:var(--rotulo);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--acento-texto);
  background:var(--fundo-alt);
}
tbody th{font-family:var(--fonte-titulo);font-size:1.125rem;font-weight:400;white-space:nowrap}
tbody td{color:var(--texto-suave)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}

/* ---------- convênios ---------- */
.convenios{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.convenios li{
  border:1px solid var(--linha);border-radius:var(--raio);
  padding:.6rem 1rem;font-size:.9375rem;color:var(--texto-suave);
}

/* ---------- FAQ ---------- */
.faq{margin-top:2rem;max-width:62ch;border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{
  cursor:pointer;list-style:none;padding-block:1.15rem;min-height:44px;
  font-family:var(--fonte-titulo);font-size:1.25rem;line-height:1.3;
  display:flex;align-items:center;justify-content:space-between;gap:1.25rem;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";flex:none;width:.75rem;height:.75rem;
  border-right:1.25px solid var(--acento-texto);border-bottom:1.25px solid var(--acento-texto);
  transform:rotate(45deg);transform-origin:center;margin-bottom:.25rem;
}
.faq details[open] summary::after{transform:rotate(-135deg);margin:.25rem 0 0}
.faq .resposta{padding-bottom:1.35rem}
.faq .resposta p{font-size:.9375rem;color:var(--texto-suave)}

/* ---------- autoria ---------- */
.autoria{
  margin-top:clamp(3rem,6vw,4.5rem);padding-top:1.75rem;
  border-top:1px solid var(--linha-forte);max-width:62ch;
}
.autoria h2{font-size:1.125rem;font-family:var(--fonte-texto);font-weight:700;letter-spacing:0;margin:0 0 1rem}
.autoria dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.25rem;font-size:.875rem}
.autoria dt{color:var(--acento-texto);font-weight:700;font-size:var(--rotulo);letter-spacing:.12em;text-transform:uppercase;padding-top:.2rem}
.autoria dd{margin:0;color:var(--texto-suave)}
.autoria dd a{color:var(--primaria)}
.autoria ul{margin:.3rem 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem}
@media (max-width:560px){.autoria dl{grid-template-columns:1fr;gap:.15rem 0}.autoria dt{margin-top:.75rem}}

/* ---------- fachada de mapa e vídeo ---------- */
.fachada{
  position:relative;border:1px solid var(--linha);border-radius:var(--raio);
  overflow:hidden;background:var(--fundo-alt);aspect-ratio:4/3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1rem;text-align:center;padding:2rem;text-decoration:none;color:inherit;
}
.fachada__titulo{font-family:var(--fonte-titulo);font-size:1.5rem}
.fachada p{font-size:.875rem;color:var(--texto-suave);max-width:28ch;margin:0}

/* ---------- barra fixa do celular ---------- */
.barra{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:var(--fundo);border-top:1px solid var(--linha);
  padding:.65rem var(--gut-r) calc(.65rem + env(safe-area-inset-bottom,0px)) var(--gut-l);
  gap:.6rem;
}
.barra .btn{flex:1;padding-block:.85rem}
.barra .btn--linha{flex:0 0 auto;padding-inline:1.1rem}
@media (max-width:860px){.barra{display:flex}}

/* ---------- diálogo ---------- */
dialog{
  border:none;border-radius:var(--raio-md);padding:0;
  max-width:min(28rem,calc(100vw - 2rem));width:100%;
  background:var(--fundo);color:var(--texto);
}
dialog::backdrop{background:rgba(28,27,25,.5)}
.dlg{padding:1.75rem}
.dlg__topo{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.dlg h2{font-size:1.5rem}
.dlg__fechar{
  background:transparent;border:1px solid var(--linha);border-radius:var(--raio);
  width:44px;height:44px;flex:none;cursor:pointer;color:var(--texto);font-size:1.25rem;line-height:1;
}
.dlg__opcoes{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}
.dlg__opcao{
  font:inherit;font-size:1rem;text-align:left;cursor:pointer;
  background:var(--fundo);border:1px solid var(--linha-forte);border-radius:var(--raio);
  padding:1rem 1.25rem;min-height:44px;color:var(--texto);
}
.dlg__opcao:hover{border-color:var(--primaria);color:var(--primaria)}
.dlg__pular{display:block;font-size:.875rem;color:var(--texto-suave);text-align:center;text-decoration:underline}
.dlg__qr{display:flex;flex-direction:column;align-items:center;gap:.9rem;margin-bottom:1.25rem}
.dlg__qr canvas,.dlg__qr img{border:1px solid var(--linha);border-radius:var(--raio)}
.dlg__passo{font-size:var(--rotulo);letter-spacing:.14em;text-transform:uppercase;color:var(--acento-texto);font-weight:700;margin-bottom:.5rem}

/* ---------- consentimento ---------- */
.consentimento{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:var(--fundo);border-top:1px solid var(--linha-forte);
  padding:1.25rem var(--gut-r) calc(1.25rem + env(safe-area-inset-bottom,0px)) var(--gut-l);
  box-shadow:0 -8px 32px -16px rgba(28,27,25,.3);
}
.consentimento__in{max-width:var(--largura);margin-inline:auto;display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center}
.consentimento p{font-size:.875rem;color:var(--texto-suave);margin:0;flex:1 1 20rem}
.consentimento .acoes{flex:none}
.consentimento .btn{padding:.75rem 1.25rem;font-size:.875rem}

/* ---------- rodapé ---------- */
.rodape{background:var(--fundo-escuro);color:#CFC9C0;margin-top:var(--secao)}
.rodape__in{
  max-width:var(--largura);margin-inline:auto;
  padding-left:var(--gut-l);padding-right:var(--gut-r);padding-block:3.5rem;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;
}
@media (max-width:860px){.rodape__in{grid-template-columns:1fr;gap:2rem}}
.rodape h4{font-size:var(--rotulo);letter-spacing:.14em;text-transform:uppercase;color:#D9BE8A;margin-bottom:1rem}
.rodape a{color:#CFC9C0;text-decoration:none}
.rodape a:hover{color:#FBF8F3}
.rodape ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;font-size:.9375rem}
.rodape .logo__nome{color:#FBF8F3}
.rodape .logo__sup{color:#D9BE8A}
.rodape .logo__mono{color:#D9BE8A}
.rodape__cfm{font-size:.8125rem;line-height:1.7;color:#A79F95;margin-top:1.25rem;max-width:42ch}
.rodape__cfm b{color:#CFC9C0;font-weight:700}
.rodape__barra{border-top:1px solid rgba(255,255,255,.12)}
.rodape__barra div{
  max-width:var(--largura);margin-inline:auto;
  padding-left:var(--gut-l);padding-right:var(--gut-r);padding-block:1.25rem;
  font-size:.8125rem;color:#A79F95;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;
}

/* ---------- utilidades ---------- */
.vis-oculto{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.abaixo{content-visibility:auto;contain-intrinsic-size:auto 600px}

/* ---------- movimento ---------- */
@media (prefers-reduced-motion:no-preference){
  :root{interpolate-size:allow-keywords}
  @view-transition{navigation:auto}

  .card img{transition:transform 700ms var(--suave)}
  .card:hover img{transform:scale(1.03)}
  .btn,.dlg__opcao{transition:transform var(--rapido) var(--suave),background var(--rapido) var(--suave),border-color var(--rapido) var(--suave),color var(--rapido) var(--suave)}
  .btn:active{transform:scale(.98)}

  details::details-content{
    block-size:0;overflow:hidden;
    transition:block-size 500ms var(--suave),content-visibility 500ms allow-discrete;
  }
  details[open]::details-content{block-size:auto}

  dialog{transition:opacity var(--medio) var(--suave),display var(--medio) allow-discrete,overlay var(--medio) allow-discrete;opacity:0}
  dialog[open]{opacity:1}
  @starting-style{dialog[open]{opacity:0}}

  ::view-transition-old(root),::view-transition-new(root){
    animation-duration:350ms;animation-timing-function:var(--suave);
  }

  @supports (animation-timeline:view()){
    .revelar{animation:surgir linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
    .revelar-imagem img{animation:assentar linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
  }
}

/* Só transform: o conteúdo nunca fica invisível esperando a rolagem. */
@keyframes surgir{from{transform:translateY(8px)}}
@keyframes assentar{from{transform:scale(1.04)}}
