/* =========================================================
   Marmoraria Império — Landing Page
   QH4 Growth
   Motivo visual: corte 45° da borda da bancada + veio dourado
   ========================================================= */

:root{
  --grafite:#1C1A18;
  --grafite-2:#26221F;
  --grafite-3:#332E29;
  --pedra:#F1EDE7;
  --pedra-2:#E1DAD0;
  --pedra-3:#C9C0B4;
  --ouro:#C08F32;
  --ouro-claro:#E5C176;
  --texto:#1F1C19;
  --texto-suave:#5C554C;
  --texto-claro:#EFEAE3;
  --texto-claro-suave:#B2A99C;
  --branco:#FFFFFF;

  --corte:22px;              /* corte 45° do canto */
  --max:1180px;
  --gap:clamp(1.25rem, 3vw, 2.5rem);

  --titulo:'Poppins', system-ui, sans-serif;
  --corpo:'Inter', system-ui, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--pedra);
  color:var(--texto);
  font-family:var(--corpo);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}

h1,h2,h3{font-family:var(--titulo);line-height:1.14;letter-spacing:-.015em;margin:0;}
h1{font-size:clamp(2.05rem,4.6vw,3.4rem);font-weight:600;}
h2{font-size:clamp(1.6rem,3.2vw,2.5rem);font-weight:600;}
h3{font-size:1.12rem;font-weight:600;}
p{margin:0 0 1rem;}

.wrap{width:min(100% - 2.5rem, var(--max));margin-inline:auto;}
.wrap--estreito{width:min(100% - 2.5rem, 780px);}

.pular{
  position:absolute;left:-9999px;top:0;background:var(--ouro);color:#1a1a1a;
  padding:.7rem 1rem;z-index:999;font-weight:600;
}
.pular:focus{left:0;}

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

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--titulo);font-weight:600;font-size:.95rem;
  padding:.85rem 1.5rem;text-decoration:none;cursor:pointer;border:0;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  transition:transform .18s ease, background-color .18s ease, color .18s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn--ouro{background:var(--ouro);color:#20180A;}
.btn--ouro:hover{background:var(--ouro-claro);}
.btn--linha{background:transparent;color:var(--texto-claro);box-shadow:inset 0 0 0 1.5px rgba(239,234,227,.45);}
.btn--linha:hover{box-shadow:inset 0 0 0 1.5px var(--ouro-claro);color:var(--ouro-claro);}
.btn--linha-clara{background:transparent;color:var(--texto-claro);box-shadow:inset 0 0 0 1.5px rgba(192,143,50,.6);}
.btn--linha-clara:hover{background:rgba(192,143,50,.14);}
.btn--grande{padding:1.05rem 1.9rem;font-size:1rem;}
.btn--bloco{width:100%;padding:1.05rem 1.5rem;}
.btn:disabled{background:var(--pedra-3);color:#7a7367;cursor:not-allowed;transform:none;}

/* ---------- topo ---------- */
.topo{
  position:sticky;top:0;z-index:100;
  background:rgba(28,26,24,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(192,143,50,.35);
}
.topo__interno{
  width:min(100% - 2.5rem, var(--max));margin-inline:auto;
  display:flex;align-items:center;gap:1.5rem;padding:.55rem 0;
}
.topo__marca img{width:118px;height:auto;}
.topo__nav{display:flex;gap:1.6rem;margin-left:auto;}
.topo__nav a{
  color:var(--texto-claro-suave);text-decoration:none;font-size:.92rem;font-weight:500;
  padding-bottom:2px;border-bottom:1px solid transparent;transition:color .18s, border-color .18s;
}
.topo__nav a:hover{color:var(--ouro-claro);border-color:var(--ouro);}
.topo__cta{padding:.65rem 1.15rem;font-size:.88rem;}

/* ---------- hero ---------- */
.hero{
  display:grid;grid-template-columns:1.02fr .98fr;
  background:var(--grafite);
  position:relative;
}
.hero__foto{position:relative;overflow:hidden;order:2;max-height:min(78vh,660px);}
.hero__foto img{width:100%;height:100%;object-fit:cover;object-position:center 42%;}
.hero__foto::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(28,26,24,.92) 0%, rgba(28,26,24,.25) 38%, rgba(28,26,24,0) 70%);
}
.hero__painel{
  order:1;padding:clamp(2rem,3.4vw,3rem) clamp(1.5rem,4vw,3.2rem) clamp(2rem,3.4vw,3rem);
  padding-left:max(1.25rem, calc((100vw - var(--max))/2));
  display:flex;flex-direction:column;justify-content:center;
  color:var(--texto-claro);position:relative;z-index:2;
}
.hero__local{
  font-size:.82rem;letter-spacing:.06em;color:var(--ouro-claro);font-weight:500;
  margin:0 0 1.1rem;padding-left:2.6rem;position:relative;
}
.hero__local::before{
  content:"";position:absolute;left:0;top:.62em;width:2rem;height:1px;background:var(--ouro);
}
.hero h1{max-width:16ch;}
.hero__texto{
  margin:1.05rem 0 1.6rem;max-width:46ch;color:var(--texto-claro-suave);font-size:1.05rem;
}
.hero__acoes{display:flex;flex-wrap:wrap;gap:.9rem;}
.hero__provas{
  list-style:none;margin:1.9rem 0 0;padding:1.3rem 0 0;
  border-top:1px solid rgba(239,234,227,.14);
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;
}
.hero__provas li{display:flex;flex-direction:column;gap:.15rem;}
.hero__provas strong{font-family:var(--titulo);font-size:.95rem;color:var(--texto-claro);font-weight:600;}
.hero__provas span{font-size:.82rem;color:var(--texto-claro-suave);line-height:1.4;}

/* ---------- seções ---------- */
.secao{padding:clamp(3.4rem,7vw,6rem) 0;}
.secao--pedra{background:var(--pedra);}
.secao--escura{background:var(--grafite);color:var(--texto-claro);}
.cab{max-width:62ch;margin-bottom:clamp(2rem,4vw,3.2rem);}
.cab h2{margin-bottom:.9rem;}
.cab p{color:var(--texto-suave);margin:0;font-size:1.03rem;}
.cab--claro p{color:var(--texto-claro-suave);}
.cab--claro h2{color:var(--texto-claro);}

/* ---------- serviços ---------- */
.servicos{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem;
}
.servico{
  background:var(--branco);
  border:1px solid var(--pedra-2);
  clip-path:polygon(0 0, calc(100% - var(--corte)) 0, 100% var(--corte), 100% 100%, 0 100%);
  display:flex;flex-direction:column;overflow:hidden;
}
.servico img{width:100%;flex:1;min-height:180px;max-height:250px;object-fit:cover;}
.servico__texto{padding:1.25rem 1.35rem 1.5rem;}
.servico__texto h3{margin-bottom:.5rem;}
.servico__texto p{color:var(--texto-suave);font-size:.94rem;margin:0;}
.servico--destaque{
  grid-column:1 / -1;flex-direction:row;align-items:stretch;height:clamp(320px,30vw,420px);
  background:var(--grafite-2);color:var(--texto-claro);border-color:var(--grafite-3);
}
.servico--destaque img{width:52%;height:100%;min-height:0;max-height:none;flex:none;object-fit:cover;object-position:center 42%;}
.servico--destaque h3{font-size:1.4rem;color:var(--ouro-claro);}
.servico--destaque .servico__texto{padding:clamp(1.6rem,3vw,2.8rem);display:flex;flex-direction:column;justify-content:center;}
.servico--destaque .servico__texto p{color:var(--texto-claro-suave);font-size:1rem;}
.servico--lista{justify-content:center;background:transparent;border-style:dashed;}
.servico--lista .servico__texto{padding:1.5rem 1.35rem;}

/* ---------- galeria ---------- */
.galeria{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;
}
.galeria__item{margin:0;position:relative;overflow:hidden;background:var(--grafite-2);}
.galeria__item img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;}
.galeria__item--alto{grid-column:span 2;grid-row:span 2;}
.galeria__item--largo{grid-column:span 2;}
.galeria__item--largo img{aspect-ratio:16/10;}
.galeria__item--alto img{aspect-ratio:auto;height:100%;min-height:100%;}
.galeria__item figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:2.4rem .95rem .85rem;
  font-size:.83rem;line-height:1.4;color:var(--texto-claro);
  background:linear-gradient(0deg, rgba(20,18,16,.88) 0%, rgba(20,18,16,0) 100%);
  opacity:0;transform:translateY(6px);transition:opacity .22s ease, transform .22s ease;
}
.galeria__item:hover figcaption,
.galeria__item:focus-within figcaption{opacity:1;transform:none;}
.galeria__rodape{
  margin-top:2.2rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;
  border-top:1px solid rgba(239,234,227,.14);padding-top:1.7rem;
}
.galeria__rodape p{margin:0;color:var(--texto-claro-suave);}

/* ---------- etapas ---------- */
.etapas{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;
  counter-reset:etapa;
}
.etapas li{
  padding-top:1.4rem;border-top:2px solid var(--grafite);position:relative;
}
.etapas li:nth-child(2){border-top-color:var(--ouro);}
.etapas li:nth-child(3){border-top-color:var(--pedra-3);}
.etapas__num{
  font-family:var(--titulo);font-size:2.6rem;font-weight:700;line-height:1;
  color:var(--pedra-3);display:block;margin-bottom:.4rem;
}
.etapas h3{margin-bottom:.5rem;}
.etapas p{color:var(--texto-suave);font-size:.96rem;margin:0;}

/* ---------- guia ---------- */
.guia{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(239,234,227,.14);}
.guia__bloco{background:var(--grafite);padding:1.9rem 1.7rem;}
.guia__bloco h3{color:var(--ouro-claro);margin-bottom:.7rem;}
.guia__bloco p{color:var(--texto-claro-suave);font-size:.95rem;margin:0;}

/* ---------- formulário ---------- */
.secao--form{background:var(--pedra-2);}
.form-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,4vw,4rem);align-items:start;}
.form-texto h2{margin-bottom:1rem;}
.form-texto>p{color:var(--texto-suave);max-width:44ch;}
.form-lista{list-style:none;margin:1.6rem 0;padding:0;display:grid;gap:.7rem;}
.form-lista li{position:relative;padding-left:1.7rem;font-size:.96rem;color:var(--texto);}
.form-lista li::before{
  content:"";position:absolute;left:0;top:.55em;width:.7rem;height:.7rem;background:var(--ouro);
  clip-path:polygon(0 0, 100% 0, 100% 100%);
}
.form-alt{font-size:.94rem;color:var(--texto-suave);}
.form-alt a{color:var(--texto);font-weight:600;}

.form{
  background:var(--branco);padding:clamp(1.5rem,3vw,2.2rem);
  clip-path:polygon(0 0, calc(100% - var(--corte)) 0, 100% var(--corte), 100% 100%, 0 100%);
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;
}
.campo{display:flex;flex-direction:column;gap:.35rem;}
.campo--largo{grid-column:1 / -1;}
.campo label{font-size:.85rem;font-weight:600;color:var(--texto);}
.opcional{font-weight:400;color:var(--texto-suave);}
.campo input,.campo select,.campo textarea{
  font-family:var(--corpo);font-size:.97rem;color:var(--texto);
  padding:.78rem .9rem;border:1px solid var(--pedra-2);background:#FAF8F5;
  border-radius:0;width:100%;transition:border-color .18s ease, background-color .18s ease;
}
.campo textarea{resize:vertical;min-height:88px;}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  border-color:var(--ouro);background:var(--branco);outline:none;
}
.campo input::placeholder,.campo textarea::placeholder{color:#A69C8F;}
#btn-enviar{grid-column:1 / -1;margin-top:.3rem;}
.form-aviso{grid-column:1 / -1;font-size:.82rem;color:var(--texto-suave);margin:0;text-align:center;}

/* ---------- faq ---------- */
.secao--faq{padding-top:clamp(2.5rem,5vw,4rem);}
.faq details{border-bottom:1px solid var(--pedra-2);}
.faq summary{
  font-family:var(--titulo);font-weight:600;font-size:1.02rem;
  padding:1.15rem 2.4rem 1.15rem 0;cursor:pointer;list-style:none;position:relative;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"";position:absolute;right:.4rem;top:1.55rem;width:.62rem;height:.62rem;
  border-right:2px solid var(--ouro);border-bottom:2px solid var(--ouro);
  transform:rotate(45deg);transition:transform .2s ease;
}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq details p{padding:0 1.5rem 1.3rem 0;color:var(--texto-suave);font-size:.97rem;margin:0;}

/* ---------- chamada final ---------- */
.final{
  background:var(--grafite);color:var(--texto-claro);
  padding:clamp(3rem,6vw,5rem) 0;text-align:center;
  border-top:1px solid rgba(192,143,50,.3);
}
.final__interno h2{margin-bottom:.9rem;}
.final__interno p{color:var(--texto-claro-suave);max-width:52ch;margin:0 auto 2rem;}

/* ---------- rodapé ---------- */
.rodape{background:var(--grafite-2);color:var(--texto-claro-suave);padding:clamp(2.6rem,5vw,3.6rem) 0 0;font-size:.92rem;}
.rodape__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem;}
.rodape__logo{width:150px;height:auto;margin-bottom:.8rem;}
.rodape__slogan{font-size:.85rem;letter-spacing:.03em;}
.rodape h3{color:var(--texto-claro);font-size:.95rem;margin-bottom:.7rem;}
.rodape p{margin:0 0 .4rem;}
.rodape a{text-decoration:none;}
.rodape a:hover{color:var(--ouro-claro);}
.rodape__base{
  margin-top:2.6rem;border-top:1px solid rgba(239,234,227,.1);
  padding:1.2rem 0;
}
.rodape__base{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  width:min(100% - 2.5rem, var(--max));margin-inline:auto;font-size:.84rem;
}
.rodape__base p{margin:0;}
.rodape__base a{color:var(--ouro-claro);font-weight:500;}

/* ---------- whatsapp flutuante ---------- */
.flutuante{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:120;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  transition:transform .18s ease;
}
.flutuante:hover{transform:scale(1.06);}
.flutuante svg{width:30px;height:30px;fill:#fff;}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .servicos{grid-template-columns:repeat(2,1fr);}
  .servico--destaque{grid-column:1 / -1;flex-direction:column;height:auto;}
  .servico--destaque img{width:100%;height:auto;min-height:260px;max-height:320px;}
  .galeria{grid-template-columns:repeat(2,1fr);}
  .guia{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;}
  .rodape__grid{grid-template-columns:repeat(2,1fr);}
  .topo__nav{display:none;}
}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;}
  .hero__foto{order:1;height:38vh;min-height:230px;max-height:none;}
  .hero__foto::after{
    background:linear-gradient(0deg, rgba(28,26,24,.95) 0%, rgba(28,26,24,.15) 55%, rgba(28,26,24,0) 100%);
  }
  .hero__painel{order:2;padding:1.5rem 1.25rem 2.2rem;padding-left:1.25rem;}
  .etapas{grid-template-columns:1fr;gap:1.1rem;}
  .etapas li{padding-top:1rem;}
}
@media (max-width:600px){
  body{font-size:16px;}
  .hero__provas{grid-template-columns:1fr;gap:.8rem;}
  .hero__acoes .btn{flex:1 1 100%;}
  .servicos{grid-template-columns:1fr;}
  .servico--destaque{grid-column:1 / -1;flex-direction:column;height:auto;}
  .servico--destaque img{width:100%;height:auto;min-height:220px;max-height:280px;}
  .galeria{grid-template-columns:1fr 1fr;gap:.55rem;}
  .galeria__item--alto{grid-column:span 2;grid-row:auto;}
  .galeria__item--alto img{aspect-ratio:4/3;}
  .galeria__item figcaption{opacity:1;transform:none;font-size:.75rem;padding:1.8rem .7rem .6rem;}
  .guia{grid-template-columns:1fr;}
  .form{grid-template-columns:1fr;}
  .rodape__grid{grid-template-columns:1fr;}
  .topo__cta{margin-left:auto;}
  .topo__marca img{width:96px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation:none !important;transition:none !important;}
  .btn:hover{transform:none;}
}

/* =========================================================
   MOVIMENTO
   ========================================================= */

/* entrada do hero, sequência única no carregamento */
@keyframes surge{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes fio{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes zoomLento{from{transform:scale(1.1);}to{transform:scale(1);}}
@keyframes brilho{0%{left:-60%;}100%{left:130%;}}
@keyframes pulso{0%,100%{box-shadow:0 8px 22px rgba(0,0,0,.28), 0 0 0 0 rgba(37,211,102,.55);}70%{box-shadow:0 8px 22px rgba(0,0,0,.28), 0 0 0 16px rgba(37,211,102,0);}}

.hero__foto img{animation:zoomLento 1.6s cubic-bezier(.16,.84,.44,1) both;}
.hero__local,.hero h1,.hero__texto,.hero__acoes,.hero__provas{
  animation:surge .8s cubic-bezier(.16,.84,.44,1) both;
}
.hero__local{animation-delay:.10s;}
.hero h1{animation-delay:.20s;}
.hero__texto{animation-delay:.32s;}
.hero__acoes{animation-delay:.44s;}
.hero__provas{animation-delay:.56s;}
.hero__local::before{transform-origin:left;animation:fio .7s .1s cubic-bezier(.16,.84,.44,1) both;}


/* lupa indicando que a foto amplia */
.galeria__item{cursor:zoom-in;}
.galeria__item::after{
  content:"";position:absolute;top:.75rem;right:.75rem;width:34px;height:34px;z-index:2;
  background:rgba(28,26,24,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E5C176' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M11 8v6M8 11h6M16.5 16.5 21 21'/%3E%3C/svg%3E") center/18px no-repeat;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 8px 100%, 0 calc(100% - 8px));
  opacity:0;transform:translateY(-6px) scale(.9);
  transition:opacity .25s ease, transform .25s ease;
}
.galeria__item:hover::after,.galeria__item:focus-visible::after{opacity:1;transform:none;}

/* linha dourada das etapas se desenhando */
.etapas li{overflow:hidden;}
.etapas li::before{
  content:"";position:absolute;left:0;top:-2px;height:2px;width:100%;background:var(--ouro-claro);
  transform:scaleX(0);transform-origin:left;transition:transform .9s var(--atraso,0ms) cubic-bezier(.16,.84,.44,1);
}
.etapas li.visivel::before{transform:scaleX(1);}
.etapas__num{transition:color .5s .25s ease;}
.etapas li.visivel .etapas__num{color:var(--ouro);}

/* abertura suave do FAQ */
.faq details p{animation:abreFaq .35s cubic-bezier(.16,.84,.44,1) both;}
@keyframes abreFaq{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

/* parallax do hero */
.hero__foto img{will-change:transform;}

/* revelação no scroll */
.reveal{opacity:0;transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.16,.84,.44,1), transform .7s cubic-bezier(.16,.84,.44,1);
  transition-delay:var(--atraso,0ms);will-change:opacity,transform;}
.reveal.visivel{opacity:1;transform:none;}
.reveal--esq{transform:translateX(-26px);}
.reveal--dir{transform:translateX(26px);}
.reveal--zoom{transform:scale(.94);}

/* fio dourado que se desenha sob os títulos de seção */
.cab h2{position:relative;padding-bottom:.7rem;}
.cab h2::after{
  content:"";position:absolute;left:0;bottom:0;width:64px;height:2px;background:var(--ouro);
  transform:scaleX(0);transform-origin:left;transition:transform .8s .18s cubic-bezier(.16,.84,.44,1);
}
.cab.visivel h2::after{transform:scaleX(1);}

/* topo encolhe ao rolar */
.topo{transition:padding .3s ease, background-color .3s ease, box-shadow .3s ease;}
.topo.encolhido{box-shadow:0 10px 30px rgba(0,0,0,.35);}
.topo__marca img{transition:width .3s ease;}
.topo.encolhido .topo__marca img{width:92px;}

/* brilho no botão dourado */
.btn--ouro{position:relative;overflow:hidden;}
.btn--ouro::before{
  content:"";position:absolute;top:-50%;left:-60%;width:45%;height:200%;
  background:linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%);
  transform:skewX(-18deg);pointer-events:none;
}
.btn--ouro:hover::before{animation:brilho .75s ease;}

/* cards */
.servico{transition:transform .3s cubic-bezier(.16,.84,.44,1), box-shadow .3s ease, border-color .3s ease;}
.servico:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(31,28,25,.14);border-color:var(--ouro);}
.servico img{transition:transform .55s cubic-bezier(.16,.84,.44,1);}
.servico:hover img{transform:scale(1.05);}
.servico--destaque:hover{box-shadow:0 22px 44px rgba(0,0,0,.4);}

.guia__bloco{transition:background-color .3s ease;}
.guia__bloco:hover{background:var(--grafite-2);}

.etapas li::after{
  content:"";position:absolute;left:0;top:-2px;height:2px;width:0;background:var(--ouro);
  transition:width .9s cubic-bezier(.16,.84,.44,1);
}
.etapas li.visivel::after{width:100%;}
.etapas__num{transition:color .3s ease;}
.etapas li:hover .etapas__num{color:var(--ouro);}

/* galeria clicável */
.galeria__item{cursor:zoom-in;}
.galeria__item img{transition:transform .6s cubic-bezier(.16,.84,.44,1), filter .4s ease;}
.galeria__item:hover img,.galeria__item:focus-visible img{transform:scale(1.06);filter:brightness(.82);}
.galeria__item::after{
  content:"";position:absolute;top:.8rem;right:.8rem;width:34px;height:34px;
  background:rgba(28,26,24,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E5C176' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4.2-4.2M11 8.5v5M8.5 11h5'/%3E%3C/svg%3E") center/18px no-repeat;
  opacity:0;transform:translateY(-6px);transition:opacity .25s ease, transform .25s ease;pointer-events:none;
}
.galeria__item:hover::after,.galeria__item:focus-within::after{opacity:1;transform:none;}

/* faq */
.faq summary{transition:color .2s ease;}
.faq summary:hover{color:var(--ouro);}
.faq details[open] summary{color:var(--texto);}
.faq details[open] p{animation:surge .35s ease both;}

/* whatsapp flutuante com pulso discreto */
.flutuante{animation:pulso 3.4s ease-in-out 2s infinite;}

/* ---------- regiões ---------- */
.regioes{background:var(--grafite);color:var(--texto-claro);padding:clamp(2.6rem,5vw,3.6rem) 0;border-top:1px solid rgba(192,143,50,.28);}
.regioes__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:center;}
.regioes h2{font-size:clamp(1.3rem,2.3vw,1.75rem);margin-bottom:.8rem;color:var(--texto-claro);}
.regioes p{color:var(--texto-claro-suave);margin:0;font-size:.98rem;max-width:52ch;}
.regioes__lista{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem;}
.regioes__lista li{
  font-size:.88rem;padding:.45rem .9rem;color:var(--ouro-claro);
  box-shadow:inset 0 0 0 1px rgba(192,143,50,.45);
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
@media (max-width:860px){.regioes__grid{grid-template-columns:1fr;gap:1.4rem;}}

/* ---------- lightbox ---------- */
.lbox{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  background:rgba(16,14,13,.94);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:opacity .3s ease, visibility .3s ease;
}
.lbox.aberto{opacity:1;visibility:visible;}
.lbox__palco{position:relative;width:min(92vw,1100px);max-height:88vh;display:grid;place-items:center;}
.lbox__img{
  max-width:100%;max-height:78vh;width:auto;object-fit:contain;
  box-shadow:0 30px 70px rgba(0,0,0,.6);
  animation:lboxEntra .38s cubic-bezier(.16,.84,.44,1) both;
}
@keyframes lboxEntra{from{opacity:0;transform:scale(.94);}to{opacity:1;transform:none;}}
.lbox__legenda{
  margin-top:1rem;color:var(--texto-claro);font-size:.95rem;text-align:center;max-width:60ch;
}
.lbox__contador{display:block;color:var(--ouro-claro);font-size:.8rem;margin-top:.35rem;}
.lbox__btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:48px;height:48px;display:grid;place-items:center;cursor:pointer;
  background:rgba(28,26,24,.8);border:1px solid rgba(192,143,50,.5);color:var(--ouro-claro);
  font-size:1.4rem;line-height:1;transition:background-color .2s ease, transform .2s ease;
}
.lbox__btn:hover{background:var(--ouro);color:#20180A;}
.lbox__btn--ant{left:-64px;}
.lbox__btn--prox{right:-64px;}
.lbox__fechar{
  position:absolute;top:-56px;right:0;z-index:3;width:44px;height:44px;cursor:pointer;
  background:transparent;border:1px solid rgba(239,234,227,.35);color:var(--texto-claro);
  font-size:1.3rem;line-height:1;transition:background-color .2s ease, color .2s ease;
}
.lbox__fechar:hover{background:var(--ouro);color:#20180A;border-color:var(--ouro);}
body.travado{overflow:hidden;}
@media (max-width:860px){
  .lbox__btn--ant{left:.4rem;}
  .lbox__btn--prox{right:.4rem;}
  .lbox__fechar{top:-52px;right:.2rem;}
  .lbox__img{max-height:66vh;}
}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1 !important;transform:none !important;}
  .cab h2::after{transform:scaleX(1) !important;}
  .etapas li::after{width:100% !important;}
  .flutuante{animation:none !important;}
}
