/* =========================================================
   Marina Scheid Estética Avançada
   Estilo: Editorial Grid / Magazine (#66) + materialidade
   Nature Distilled (#61), recolorido para a paleta REAL
   extraída das fotos da clínica.
   Tipografia: Bodoni Moda + Jost (#50 Luxury Minimalist)
   ========================================================= */

:root{
  /* --- paleta amostrada das fotos da Marina (PIL) --- */
  --tinta:       #241C17;  /* espresso das fotos (#221c18 / #2e1a10) */
  --tinta-70:    #55453A;  /* corpo de texto — 7,2:1 sobre o papel */
  --tinta-45:    #665545;  /* legendas — 5,6:1 (era #93816F, 3,2:1, reprovava AA) */

  --ouro:        #C2A066;  /* tampa dourada dos frascos dela */
  --ouro-med:    #A8894F;  /* monograma da porta de vidro */
  --ouro-txt:    #705831;  /* ouro só para texto pequeno — 5,3:1 sobre o papel */

  --creme:       #EDE3D5;  /* papel — fechado para tirar o brilho */
  --creme-2:     #E2D6C4;
  --nude:        #E0B599;  /* parede da sala de atendimento */
  --nude-claro:  #E3BCA1;
  --argila:      #6E3B23;  /* terracota queimada (escurecida p/ passar AA) */
  --madeira:     #C3A68A;

  --linha:       #CBBCA6;
  --linha-esc:   rgba(194,160,102,.28);

  --serif: "Bodoni Moda", Georgia, "Times New Roman", serif;
  --sans:  "Jost", "Segoe UI", system-ui, -apple-system, sans-serif;

  --wrap: 1200px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --secao-y: clamp(4.5rem, 10vw, 9rem);
  --raio: 2px;
}

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

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

body{
  margin:0;
  background:var(--creme);
  color:var(--tinta-70);
  font-family:var(--sans);
  font-weight:400;
  font-size:clamp(1rem, .96rem + .2vw, 1.075rem);
  line-height:1.72;
  overflow-x:hidden;
}

/* grão de papel — dá a textura "impressa" do estilo editorial */
body::before{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  opacity:.42; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
}
main, header, footer, .zap{ position:relative; z-index:1; }

img{ max-width:100%; height:auto; display:block; }

h1,h2,h3{ font-family:var(--serif); font-weight:500; color:var(--tinta); line-height:1.1; margin:0; letter-spacing:-.005em; }
p{ margin:0 0 1.1em; }
a{ color:var(--ouro-txt); }

::selection{ background:var(--ouro); color:#fff; }

:focus-visible{ outline:2px solid var(--ouro-med); outline-offset:3px; border-radius:2px; }

.pular{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--tinta); color:var(--creme); padding:.75rem 1.25rem; font-size:.9rem;
}
.pular:focus{ left:0; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter); }
.wrap--estreito{ max-width:820px; }

/* ---------------- Botões ---------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--sans); font-size:.815rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; text-decoration:none;
  padding:1.05rem 1.55rem; border-radius:var(--raio);
  background:var(--tinta); color:var(--creme);
  border:1px solid var(--tinta);
  transition:background .35s ease, color .35s ease, border-color .35s ease, transform .35s ease;
}
.btn:hover{ background:var(--ouro-med); border-color:var(--ouro-med); color:#fff; transform:translateY(-2px); }
.btn--linha{ background:transparent; color:var(--tinta); border-color:var(--linha); }
.btn--linha:hover{ background:transparent; color:var(--ouro-txt); border-color:var(--ouro-med); }
.btn--mini{ padding:.7rem 1.15rem; font-size:.72rem; letter-spacing:.13em; }

/* ---------------- Topo ---------------- */
.topo{
  position:sticky; top:0; z-index:100;
  background:rgba(237,227,213,.92);
  backdrop-filter:saturate(160%) blur(12px);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--linha);
}
.topo__wrap{
  max-width:var(--wrap); margin-inline:auto; padding:.7rem var(--gutter);
  display:flex; align-items:center; gap:1.25rem;
}
.marca{ display:flex; align-items:center; gap:.65rem; text-decoration:none; margin-right:auto; }
.marca__mono{
  width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center;
  border:1px solid var(--ouro-med); color:var(--ouro-med);
  font-family:var(--serif); font-size:1.15rem; line-height:1;
}
.marca__txt{ display:flex; flex-direction:column; line-height:1.15; }
.marca__txt strong{ font-family:var(--serif); font-weight:500; font-size:1.02rem; color:var(--tinta); }
.marca__txt em{ font-style:normal; font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ouro-txt); }

.nav{ display:none; gap:1.6rem; }
.nav a{
  font-size:.775rem; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none; color:var(--tinta-70); padding:.35rem 0;
  border-bottom:1px solid transparent; transition:color .3s, border-color .3s;
}
.nav a:hover, .nav a.ativo{ color:var(--tinta); border-bottom-color:var(--ouro-med); }

.topo__cta{ display:none; }

.hamb{
  width:42px; height:36px; display:grid; place-content:center; gap:5px;
  background:none; border:1px solid var(--linha); border-radius:var(--raio); cursor:pointer; padding:0 9px;
}
.hamb span{ display:block; width:22px; height:1.5px; background:var(--tinta); transition:transform .3s, opacity .3s; }
.hamb[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.hamb[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.hamb[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

@media (min-width:1000px){
  .nav{ display:flex; }
  .topo__cta{ display:inline-flex; }
  .hamb{ display:none; }
}

/* menu mobile aberto */
@media (max-width:999px){
  .nav{
    position:fixed; inset:61px 0 auto 0; display:flex; flex-direction:column; gap:0;
    background:var(--creme); border-bottom:1px solid var(--linha);
    padding:.5rem var(--gutter) 1.5rem;
    transform:translateY(-115%); transition:transform .4s cubic-bezier(.4,0,.2,1);
    box-shadow:0 18px 40px -24px rgba(43,33,27,.4);
  }
  .nav.aberto{ transform:translateY(0); }
  .nav a{ padding:.95rem 0; border-bottom:1px solid var(--linha); font-size:.85rem; }
  .nav a:last-child{ border-bottom:0; }
}

/* ---------------- CAPA ---------------- */
.capa{ padding:clamp(2.5rem,7vw,5rem) 0 clamp(3rem,7vw,5.5rem); }
.capa__grid{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter);
  display:grid; gap:clamp(2rem,5vw,3.5rem);
}
.folio{
  font-size:.7rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--ouro-txt); margin:0 0 1.4rem;
  display:flex; align-items:center; gap:.9rem;
}
.folio::after{ content:""; flex:1; height:1px; background:var(--linha); max-width:130px; }

.capa__h1{
  font-size:clamp(2.6rem, 8.5vw, 5.1rem);
  line-height:1.02; letter-spacing:-.02em; margin:0 0 1.6rem;
  text-wrap:balance;
}
.capa__h1 em{ display:block; font-style:italic; color:var(--ouro-med); font-weight:400; }

.capa__lede{
  font-size:clamp(1.02rem,.98rem+.35vw,1.16rem);
  max-width:46ch; color:var(--tinta-70); margin-bottom:2rem;
}

.selo-google{
  display:inline-flex; align-items:center; gap:.6rem;
  border:1px solid var(--linha-esc); background:rgba(194,160,102,.09);
  border-radius:100px; padding:.5rem 1.1rem; margin:0 0 2.2rem;
  font-size:.82rem; letter-spacing:.03em; color:var(--tinta-70);
}
.selo-google strong{ color:var(--tinta); font-weight:500; }
.estrela{ color:var(--ouro-med); font-size:1rem; line-height:1; }

.capa__acoes{ display:flex; flex-wrap:wrap; gap:.85rem; }

.capa__figura{ margin:0; }
.capa__figura img{
  width:100%; aspect-ratio:4/5; object-fit:cover; object-position:60% center;
  border-radius:var(--raio);
  box-shadow:0 40px 70px -45px rgba(43,33,27,.55);
}
.capa__figura figcaption,
.duo__figura figcaption,
.perfil__figura figcaption{
  font-size:.755rem; letter-spacing:.055em; color:var(--tinta-45);
  margin-top:.85rem; padding-left:.9rem; border-left:2px solid var(--ouro);
  line-height:1.5;
}

@media (min-width:900px){
  .capa__grid{ grid-template-columns:1fr 1fr; align-items:center; gap:clamp(3rem,6vw,5.5rem); }
  .capa__figura img{ aspect-ratio:3/4; }
}
@media (min-width:1150px){
  .capa__grid{ grid-template-columns:1.05fr 1fr; }
}

/* ---------------- EXPEDIENTE ---------------- */
.expediente{
  background:var(--tinta); color:var(--creme);
  padding:clamp(2.75rem,6vw,4rem) 0;
}
.expediente__titulo{
  font-size:.68rem; letter-spacing:.34em; text-transform:uppercase;
  color:var(--ouro); margin:0 0 2rem;
  display:flex; align-items:center; gap:1.1rem;
}
.expediente__titulo::after{ content:""; flex:1; height:1px; background:rgba(194,160,102,.3); }

.expediente__lista{
  list-style:none; margin:0; padding:0;
  display:grid; gap:0;
  grid-template-columns:1fr;
}
.expediente__lista li{
  display:grid; grid-template-columns:auto 1fr; column-gap:.9rem; row-gap:.15rem;
  padding:1.15rem 0; border-top:1px solid rgba(203,188,166,.22);
}
.expediente__lista li:first-child{ border-top:0; }
.expediente__lista .n{
  grid-row:1/3; font-family:var(--serif); font-style:italic;
  font-size:.95rem; color:var(--ouro); padding-top:.15rem; min-width:1.5rem;
}
.expediente__lista strong{
  font-family:var(--serif); font-weight:500; font-size:1.14rem; color:var(--creme); line-height:1.25;
}
.expediente__lista em{
  display:block; font-style:normal; font-size:.83rem;
  color:rgba(237,227,213,.8); line-height:1.45;
}
@media (min-width:760px){
  .expediente__lista{ grid-template-columns:repeat(2,1fr); column-gap:clamp(2rem,5vw,4rem); }
  .expediente__lista li:nth-child(2){ border-top:0; }
}
@media (min-width:1100px){
  .expediente__lista{ grid-template-columns:repeat(5,1fr); }
  .expediente__lista li{ border-top:0; border-left:1px solid rgba(203,188,166,.22); padding:0 0 0 1.3rem; display:block; }
  .expediente__lista li:first-child{ border-left:0; padding-left:0; }
  .expediente__lista .n{ display:block; margin-bottom:.65rem; }
  .expediente__lista strong{ display:block; margin-bottom:.4rem; font-size:1.06rem; }
}

/* ---------------- Seções / cabeçalhos de capítulo ---------------- */
.secao{ padding:var(--secao-y) 0; }
.secao--claro{ background:var(--creme-2); }

.cab{ margin-bottom:clamp(2.5rem,6vw,4rem); max-width:660px; }
.cab__num{
  display:block; font-family:var(--serif); font-style:italic;
  font-size:clamp(2.4rem,7vw,3.6rem); line-height:1; color:var(--ouro);
  margin-bottom:.5rem;
}
.cab__titulo{ font-size:clamp(2rem,5.5vw,3.15rem); letter-spacing:-.015em; margin-bottom:.9rem; }
.cab__sub{ font-size:1.02rem; color:var(--tinta-70); margin:0; max-width:52ch; }
.cab--inv .cab__titulo{ color:var(--creme); }
.cab--inv .cab__sub{ color:rgba(237,227,213,.82); }
.cab--inv .cab__num{ color:var(--ouro); font-size:clamp(1.5rem,4vw,2.1rem); }

/* ---------------- Passos (Como funciona) ---------------- */
.passos{
  list-style:none; margin:0; padding:0;
  display:grid; gap:0; counter-reset:p;
  border-top:1px solid var(--linha);
}
.passos li{
  padding:clamp(1.75rem,4vw,2.5rem) 0;
  border-bottom:1px solid var(--linha);
  display:grid; gap:.5rem;
}
.passos__n{
  font-family:var(--serif); font-style:italic; font-size:1.6rem;
  color:var(--ouro-med); line-height:1;
}
.passos h3{ font-size:clamp(1.35rem,3.2vw,1.7rem); }
.passos p{ margin:0; max-width:52ch; }

@media (min-width:820px){
  .passos{ grid-template-columns:repeat(3,1fr); border-top:0; gap:clamp(2rem,4vw,3.25rem); }
  .passos li{ border-bottom:0; border-top:2px solid var(--ouro); padding:1.6rem 0 0; align-content:start; }
}

/* ---------------- Procedimentos (grid assimétrico) ---------------- */
.proc{ display:grid; gap:clamp(1rem,2.2vw,1.5rem); }

.proc__item{
  position:relative; overflow:hidden; border-radius:var(--raio);
  min-height:clamp(340px,60vw,420px);
  display:flex; align-items:flex-end;
  isolation:isolate;
}
/* as fotos dos cards já vêm recortadas em 3:4 — mesma proporção do card —
   com o rosto na metade de cima, para o texto cair sobre pescoço/ombro */
.proc__item img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center top;
  z-index:-2; transition:transform .9s cubic-bezier(.2,.7,.3,1);
}
.proc__item::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to top, rgba(30,22,17,.93) 0%, rgba(30,22,17,.72) 34%, rgba(30,22,17,.22) 68%, rgba(30,22,17,.08) 100%);
}
.proc__item:hover img{ transform:scale(1.05); }

.proc__conteudo{ padding:clamp(1.4rem,3vw,2rem); color:var(--creme); }
.proc__eyebrow{
  display:inline-block; font-size:.63rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--ouro); border:1px solid rgba(194,160,102,.5); border-radius:100px;
  padding:.3rem .8rem; margin-bottom:.9rem;
}
.proc__conteudo h3{
  color:var(--creme); font-size:clamp(1.35rem,3.4vw,1.55rem); margin-bottom:.55rem;
  overflow-wrap:break-word; hyphens:auto;
}
.proc__item--destaque .proc__conteudo h3{ font-size:clamp(1.6rem,4vw,2.2rem); }
.proc__conteudo p{ margin:0; font-size:.93rem; color:rgba(237,227,213,.9); max-width:42ch; line-height:1.62; }

@media (min-width:700px){
  .proc{ grid-template-columns:repeat(2,1fr); }
}
/* 4 colunas: o destaque ocupa 2x2 à esquerda e os quatro cards menores
   preenchem as duas colunas da direita, sem sobrar buraco na grade */
@media (min-width:1000px){
  .proc{ grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(330px,auto); }
  .proc__item{ min-height:330px; }
  .proc__item--destaque{ grid-column:span 2; grid-row:span 2; min-height:684px; }
}

/* ---------------- Ensaio antes & depois ---------------- */
.ensaio{ background:var(--tinta); padding:var(--secao-y) 0; }
.placas{ display:grid; gap:clamp(1.75rem,4vw,2.75rem); }
.placa{ margin:0; }
.placa__img{ position:relative; border-radius:var(--raio); overflow:hidden; }
.placa__img img{ width:100%; }
.placa__img::after{
  content:""; position:absolute; top:0; bottom:0; left:50%; width:1px;
  background:rgba(237,227,213,.45); transform:translateX(-50%);
}
.placa__tag{
  position:absolute; top:.85rem;
  font-size:.62rem; letter-spacing:.24em; text-transform:uppercase;
  background:rgba(30,22,17,.72); color:var(--creme);
  padding:.34rem .72rem; border-radius:100px;
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
.placa__tag--a{ left:.85rem; }
.placa__tag--d{ right:.85rem; background:rgba(194,160,102,.9); color:#2B211B; font-weight:500; }
.placa figcaption{
  margin-top:.95rem; font-size:.83rem; color:rgba(237,227,213,.82); line-height:1.55;
}
.placa figcaption b{ color:var(--ouro); font-weight:500; letter-spacing:.05em; }

.ensaio__nota{
  margin:clamp(2rem,4vw,3rem) 0 0; padding-top:1.5rem;
  border-top:1px solid rgba(203,188,166,.24);
  font-size:.79rem; color:rgba(237,227,213,.7); max-width:70ch; line-height:1.65;
}
@media (min-width:760px){ .placas{ grid-template-columns:repeat(3,1fr); } }

/* ---------------- Citação ---------------- */
.citacao{ background:var(--nude-claro); padding:clamp(3.5rem,8vw,6.5rem) 0; }
.citacao blockquote{ margin:0; max-width:900px; }
.citacao p{
  font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(1.6rem,4.6vw,2.85rem); line-height:1.28;
  color:var(--tinta); margin:0 0 1.4rem; text-wrap:balance;
}
.citacao p::before{ content:"\201C"; }
.citacao p::after{ content:"\201D"; }
.citacao cite{
  font-style:normal; font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--argila); display:flex; align-items:center; gap:.9rem;
}
.citacao cite::before{ content:""; width:44px; height:1px; background:var(--argila); }

/* ---------------- Duo (Ensino) ---------------- */
.duo{ display:grid; gap:clamp(2rem,5vw,3.5rem); }
.duo__figura{ margin:0; }
/* a foto do congresso tem um mural muito saturado — leve dessaturação
   para conversar com a paleta quente do resto da página */
.duo__figura img{
  width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--raio);
  filter:saturate(.78) contrast(1.02);
}
.duo__texto p{ max-width:56ch; }
.lista-marcada{ list-style:none; margin:1.6rem 0 2rem; padding:0; }
.lista-marcada li{
  position:relative; padding-left:1.6rem; margin-bottom:.75rem; font-size:.96rem;
}
.lista-marcada li::before{
  content:""; position:absolute; left:0; top:.72em;
  width:8px; height:1px; background:var(--ouro-med);
}
@media (min-width:900px){
  .duo{ grid-template-columns:.85fr 1fr; align-items:center; gap:clamp(3rem,6vw,5rem); }
}

/* ---------------- Perfil ---------------- */
.perfil{ display:grid; gap:clamp(2rem,5vw,3.5rem); }
.perfil__figura{ margin:0; }
.perfil__figura img{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--raio); }
.perfil__texto p{ max-width:58ch; }
.capitular::first-letter{
  float:left; font-family:var(--serif); font-size:4.1em; line-height:.82;
  padding:.06em .12em 0 0; color:var(--ouro-med); font-weight:500;
}
.perfil__assina{
  margin-top:2rem; padding-top:1.4rem; border-top:1px solid var(--linha);
  font-family:var(--serif); font-size:1.2rem; color:var(--tinta); line-height:1.35;
}
.perfil__assina span{
  display:block; font-family:var(--sans); font-size:.68rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--ouro-txt); margin-top:.4rem;
}
@media (min-width:900px){
  .perfil{ grid-template-columns:1fr 1.15fr; align-items:start; gap:clamp(3rem,6vw,5rem); }
}

/* ---------------- Cartas / depoimentos ---------------- */
.google-bloco{
  border:1px solid var(--linha); border-radius:var(--raio);
  background:rgba(194,160,102,.07);
  padding:clamp(1.6rem,4vw,2.25rem);
  display:grid; gap:1rem; justify-items:start;
  margin-bottom:clamp(1.75rem,4vw,2.5rem);
}
.google-bloco__nota{ display:flex; align-items:baseline; gap:.8rem; flex-wrap:wrap; }
.google-bloco__nota strong{
  font-family:var(--serif); font-size:2.6rem; line-height:1; color:var(--tinta); font-weight:500;
}
.estrelas{ color:var(--ouro-med); letter-spacing:.15em; font-size:1.05rem; }
.google-bloco__nota em{ font-style:normal; font-size:.85rem; color:var(--tinta-45); letter-spacing:.05em; }
.google-bloco p{ margin:0; max-width:52ch; font-size:.96rem; }

.cartas{ display:grid; gap:clamp(1rem,2.5vw,1.5rem); align-items:start; }

/* prints das avaliações do Google — placa branca para o screenshot
   (fundo branco) não flutuar solto sobre o papel creme */
.print{
  margin:0; background:#fff;
  border:1px solid var(--linha); border-radius:var(--raio);
  padding:.55rem .55rem .35rem;
  box-shadow:0 20px 36px -28px rgba(36,28,23,.55);
  transition:transform .35s ease, box-shadow .35s ease;
}
.print:hover{ transform:translateY(-3px); box-shadow:0 26px 44px -28px rgba(36,28,23,.6); }
.print a{ display:block; border-radius:1px; overflow:hidden; }
.print img{ width:100%; height:auto; }
.print figcaption{
  font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--tinta-45); padding:.6rem .35rem .25rem;
}
@media (min-width:760px){ .cartas{ grid-template-columns:repeat(3,1fr); } }

/* ---------------- FAQ ---------------- */
.faq{ border-top:1px solid var(--linha); }
.faq details{ border-bottom:1px solid var(--linha); }
.faq summary{
  list-style:none; cursor:pointer; padding:1.35rem 2.75rem 1.35rem 0; position:relative;
  font-family:var(--serif); font-size:clamp(1.1rem,2.6vw,1.35rem); color:var(--tinta); line-height:1.35;
  transition:color .3s;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--ouro-txt); }
.faq summary::after{
  content:""; position:absolute; right:.35rem; top:50%; width:13px; height:13px;
  border-right:1.5px solid var(--ouro-med); border-bottom:1.5px solid var(--ouro-med);
  transform:translateY(-70%) rotate(45deg); transition:transform .35s ease;
}
.faq details[open] summary::after{ transform:translateY(-25%) rotate(225deg); }
.faq__corpo{ padding:0 0 1.5rem; }
.faq__corpo p{ margin:0; max-width:64ch; font-size:.98rem; }

/* ---------------- Contato / colofão ---------------- */
.contato{ background:var(--tinta); color:rgba(237,227,213,.88); padding:var(--secao-y) 0; }
.contato__grid{ display:grid; gap:clamp(2rem,5vw,3.5rem); }
.contato dl{ margin:0 0 2.25rem; display:grid; gap:0; }
.contato dt{
  font-size:.63rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--ouro); padding-top:1.1rem; border-top:1px solid rgba(203,188,166,.22);
}
.contato dl > dt:first-child{ border-top:0; padding-top:0; }
.contato dd{
  margin:.4rem 0 1.1rem; font-size:1rem; color:var(--creme); line-height:1.6;
}
.contato dd a{ color:var(--creme); text-decoration:none; border-bottom:1px solid var(--ouro-med); }
.contato dd a:hover{ color:var(--ouro); }
.contato .btn{ background:var(--ouro-med); border-color:var(--ouro-med); color:#241B15; }
.contato .btn:hover{ background:var(--ouro); border-color:var(--ouro); }

.contato__mapa{
  border:1px solid rgba(203,188,166,.26); border-radius:var(--raio); overflow:hidden;
  min-height:320px; background:rgba(237,227,213,.05);
}
.contato__mapa iframe{ width:100%; height:100%; min-height:320px; border:0; display:block; filter:grayscale(.28) contrast(1.03); }
@media (min-width:900px){
  .contato__grid{ grid-template-columns:.85fr 1.15fr; align-items:stretch; }
  .contato__mapa{ min-height:100%; }
}

/* ---------------- Rodapé ---------------- */
.rodape{ background:#1E1712; color:rgba(237,227,213,.74); padding:2.75rem 0 6rem; }
.rodape__wrap{ display:grid; gap:1.5rem; }
.rodape__marca{ display:flex; align-items:center; gap:.7rem; }
.rodape__marca strong{ display:block; font-family:var(--serif); font-weight:500; font-size:1.05rem; color:var(--creme); }
.rodape__marca em{ font-style:normal; font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ouro); }
.rodape__end{ margin:0; font-size:.85rem; }
.rodape__cred{
  margin:0; display:flex; flex-wrap:wrap; gap:.35rem 1.5rem;
  font-size:.75rem; letter-spacing:.05em;
  padding-top:1.4rem; border-top:1px solid rgba(203,188,166,.2);
}
.rodape__cred a{ color:rgba(237,227,213,.88); }
@media (min-width:820px){
  .rodape__wrap{ grid-template-columns:auto 1fr; align-items:center; }
  .rodape__end{ text-align:right; }
  .rodape__cred{ grid-column:1/-1; justify-content:space-between; }
  .rodape{ padding-bottom:2.75rem; }
}

/* ---------------- WhatsApp flutuante ---------------- */
.zap{
  position:fixed; right:clamp(1rem,3vw,1.75rem); bottom:clamp(1rem,3vw,1.75rem);
  z-index:120; width:58px; height:58px; border-radius:50%;
  display:grid; place-items:center;
  background:#25D366; color:#fff;
  box-shadow:0 14px 30px -10px rgba(37,211,102,.6), 0 3px 10px rgba(0,0,0,.18);
  transition:transform .3s ease, box-shadow .3s ease;
}
.zap:hover{ transform:scale(1.07); box-shadow:0 18px 36px -10px rgba(37,211,102,.7); }
.zap::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  border:2px solid rgba(37,211,102,.55); animation:pulso 2.8s ease-out infinite;
}
@keyframes pulso{
  0%{ transform:scale(1); opacity:.8; }
  70%{ transform:scale(1.5); opacity:0; }
  100%{ transform:scale(1.5); opacity:0; }
}

/* ---------------- Reveal on scroll ---------------- */
.rv{ opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.3,1); }
.rv.vis{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .rv{ opacity:1; transform:none; } }
