/* =====================================================================
   IMPERIU HAIR — Folha de estilo
   Tema: rosa claro / dourado suave
   ===================================================================== */

:root{
  /* Paleta rosa */
  --rosa-50:  #FFF8FA;
  --rosa-100: #FDEDF3;
  --rosa-150: #FBE3EC;
  --rosa-200: #F8D3E0;
  --rosa-300: #F2B5CB;
  --rosa-400: #E993B2;
  --rosa-500: #DC7297;
  --rosa-600: #C4577C;
  --rosa-700: #A34364;

  /* Neutros e apoio */
  --dourado:  #C9A46A;
  --dourado-claro: #E8D3B0;
  --grafite:  #3E2F35;
  --texto:    #6A565E;
  --texto-suave: #8B767E;
  --branco:   #FFFFFF;
  --whats:    #25D366;
  --whats-esc:#128C7E;

  /* Formas */
  --raio:   18px;
  --raio-sm: 12px;
  --raio-lg: 28px;
  --sombra:    0 12px 34px rgba(196, 87, 124, .10);
  --sombra-md: 0 18px 46px rgba(196, 87, 124, .16);
  --sombra-lg: 0 26px 70px rgba(163, 67, 100, .20);

  --container: 1160px;
  --header-h: 76px;

  --fonte-titulo: "Cormorant Garamond", Georgia, serif;
  --fonte-texto:  "Jost", "Segoe UI", system-ui, sans-serif;
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top: calc(var(--header-h) + 12px); }
body{
  margin:0;
  font-family:var(--fonte-texto);
  font-weight:400;
  font-size:16.5px;
  line-height:1.7;
  color:var(--texto);
  background:var(--rosa-50);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:var(--rosa-600); text-decoration:none; transition:color .2s; }
a:hover{ color:var(--rosa-700); }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{
  font-family:var(--fonte-titulo);
  color:var(--grafite);
  font-weight:600;
  line-height:1.15;
  margin:0 0 .5em;
  letter-spacing:.3px;
}
h1{ font-size:clamp(2.6rem, 6vw, 4.4rem); }
h2{ font-size:clamp(2rem, 4vw, 2.9rem); }
h3{ font-size:1.25rem; }
p{ margin:0 0 1em; }
button{ font-family:inherit; font-size:inherit; cursor:pointer; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:22px; }

/* ---------- Utilitários ---------- */
.eyebrow{
  display:inline-block;
  font-size:.76rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--rosa-600);
  background:var(--rosa-100);
  border:1px solid var(--rosa-200);
  padding:.42em 1.1em;
  border-radius:999px;
  margin-bottom:1.1rem;
}
.section{ padding:clamp(64px, 9vw, 112px) 0; }
.section--soft{ background:linear-gradient(180deg, var(--rosa-100), var(--rosa-50)); }
.section__head{ max-width:660px; margin:0 auto clamp(38px,5vw,62px); text-align:center; }
.section__head p{ color:var(--texto-suave); font-size:1.05rem; }
.section__note{ text-align:center; margin-top:38px; color:var(--texto-suave); font-size:.95rem; }

.card{
  background:var(--branco);
  border:1px solid var(--rosa-150);
  border-radius:var(--raio-lg);
  box-shadow:var(--sombra);
}
.grid{ display:grid; gap:24px; }
.grid--3{ grid-template-columns:repeat(auto-fit, minmax(290px,1fr)); }
.grid--4{ grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); }

.linklike{
  background:none; border:0; padding:0;
  color:var(--rosa-600); text-decoration:underline; text-underline-offset:3px;
}
.linklike:hover{ color:var(--rosa-700); }

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  padding:.92em 1.9em;
  border-radius:999px;
  border:1.5px solid transparent;
  font-weight:500; font-size:.97rem; letter-spacing:.02em;
  text-align:center;
  transition:transform .22s, box-shadow .22s, background .22s, color .22s, border-color .22s;
}
.btn:active{ transform:translateY(1px); }
.btn--primary{
  background:linear-gradient(135deg, var(--rosa-400), var(--rosa-600));
  color:#fff; box-shadow:0 10px 26px rgba(220,114,151,.36);
}
.btn--primary:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 16px 34px rgba(220,114,151,.44); }
.btn--outline{ background:transparent; border-color:var(--rosa-300); color:var(--rosa-600); }
.btn--outline:hover{ background:var(--rosa-100); color:var(--rosa-700); }
.btn--ghost{ background:var(--branco); border-color:var(--rosa-200); color:var(--grafite); box-shadow:var(--sombra); }
.btn--ghost:hover{ transform:translateY(-2px); box-shadow:var(--sombra-md); }
.btn--light{ background:#fff; color:var(--rosa-700); box-shadow:var(--sombra-md); }
.btn--light:hover{ transform:translateY(-2px); color:var(--rosa-700); }
.btn--block{ width:100%; }

/* ---------- Cabeçalho ---------- */
.header{
  position:fixed; inset:0 0 auto 0; z-index:60;
  height:var(--header-h);
  display:flex; align-items:center;
  background:rgba(255,248,250,.78);
  backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background .3s, box-shadow .3s, border-color .3s;
}
.header.is-stuck{ background:rgba(255,255,255,.94); box-shadow:0 6px 26px rgba(196,87,124,.10); border-bottom-color:var(--rosa-150); }
.header__inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; }

.brand{ display:flex; align-items:center; gap:11px; color:inherit; }
.brand__mark{ width:42px; height:42px; flex:0 0 auto; }
.brand__text{ display:flex; flex-direction:column; line-height:1.05; }
.brand__text strong{ font-family:var(--fonte-titulo); font-size:1.32rem; color:var(--grafite); font-weight:700; letter-spacing:.5px; }
.brand__text small{ font-size:.64rem; letter-spacing:.24em; text-transform:uppercase; color:var(--rosa-500); }

.nav{ display:flex; align-items:center; gap:6px; }
.nav a{
  padding:.55em .95em; border-radius:999px;
  color:var(--texto); font-size:.93rem; font-weight:400;
  transition:background .2s, color .2s;
}
.nav a:hover{ background:var(--rosa-100); color:var(--rosa-700); }
.nav a.is-active{ color:var(--rosa-700); font-weight:500; }
.nav .nav__cta{
  margin-left:8px;
  background:linear-gradient(135deg, var(--rosa-400), var(--rosa-600));
  color:#fff; font-weight:500;
  box-shadow:0 8px 20px rgba(220,114,151,.32);
}
.nav .nav__cta:hover{ background:linear-gradient(135deg, var(--rosa-500), var(--rosa-700)); color:#fff; }

.burger{ display:none; width:44px; height:44px; border:0; background:transparent; padding:10px; }
.burger span{ display:block; height:2px; border-radius:2px; background:var(--grafite); margin:5px 0; transition:transform .3s, opacity .3s; }
.burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.is-open span:nth-child(2){ opacity:0; }
.burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero{ position:relative; padding:calc(var(--header-h) + 66px) 0 96px; overflow:hidden; }
.hero__glow{
  position:absolute; inset:-30% -20% auto -20%; height:150%;
  background:
    radial-gradient(48% 42% at 78% 22%, rgba(242,181,203,.55), transparent 70%),
    radial-gradient(46% 40% at 12% 8%,  rgba(232,211,176,.38), transparent 70%),
    linear-gradient(180deg, var(--rosa-150), var(--rosa-50));
  z-index:-1;
}
.hero__inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,64px); align-items:center; }
.hero__title{ margin-bottom:.12em; }
.hero__slogan{
  font-family:var(--fonte-titulo); font-style:italic;
  font-size:clamp(1.2rem,2.3vw,1.55rem); color:var(--rosa-600); margin-bottom:.9rem;
}
.hero__text{ max-width:50ch; color:var(--texto); font-size:1.06rem; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin:30px 0 40px; }

.hero__badges{ display:flex; flex-wrap:wrap; gap:14px 34px; }
.hero__badges li{ display:flex; flex-direction:column; }
.hero__badges strong{ font-family:var(--fonte-titulo); font-size:1.5rem; color:var(--rosa-600); line-height:1.1; }
.hero__badges span{ font-size:.82rem; color:var(--texto-suave); }

.hero__visual{ position:relative; }
.hero__card{
  border-radius:var(--raio-lg) var(--raio-lg) 140px 140px;
  overflow:hidden;
  background:var(--branco);
  border:1px solid var(--rosa-200);
  box-shadow:var(--sombra-lg);
}
.hero__card img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.hero__float{
  position:absolute;
  display:flex; align-items:center; gap:9px;
  background:rgba(255,255,255,.95);
  border:1px solid var(--rosa-150);
  border-radius:999px;
  padding:.6em 1.15em;
  font-size:.83rem; color:var(--grafite);
  box-shadow:var(--sombra-md);
  white-space:nowrap;
}
.hero__float .dot{ width:8px; height:8px; border-radius:50%; background:var(--whats); box-shadow:0 0 0 4px rgba(37,211,102,.18); }
.hero__float--1{ top:13%; left:-8%; }
.hero__float--2{ bottom:15%; right:-6%; }

/* ---------- História / fundadora ---------- */
.historia{
  display:grid; grid-template-columns:.85fr 1.15fr;
  gap:clamp(28px,5vw,60px); align-items:center;
  margin-bottom:clamp(48px,6vw,74px);
}
.historia__foto{ margin:0; position:relative; }
.historia__foto img{
  width:100%; aspect-ratio:4/5; object-fit:cover;
  border-radius:200px 200px var(--raio-lg) var(--raio-lg);
  border:1px solid var(--rosa-200);
  box-shadow:var(--sombra-lg);
  background:var(--rosa-150);
}
.historia__foto figcaption{
  position:absolute; left:50%; bottom:-26px; transform:translateX(-50%);
  background:var(--branco); border:1px solid var(--rosa-150);
  border-radius:999px; padding:.6em 1.5em;
  box-shadow:var(--sombra-md);
  display:flex; flex-direction:column; align-items:center; text-align:center;
  white-space:nowrap;
}
.historia__foto figcaption strong{ font-family:var(--fonte-titulo); font-size:1.08rem; color:var(--grafite); }
.historia__foto figcaption span{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--rosa-500); }

.historia__texto p{ color:var(--texto); }
.historia__texto p:first-of-type::first-letter{
  font-family:var(--fonte-titulo); font-size:3.1rem; line-height:.9;
  float:left; margin:.06em .12em 0 0; color:var(--rosa-500);
}
.historia__frase{
  margin:26px 0 30px; padding:18px 0 18px 24px;
  border-left:3px solid var(--rosa-300);
  font-family:var(--fonte-titulo); font-style:italic;
  font-size:1.22rem; color:var(--grafite); line-height:1.45;
}
.historia__acoes{ display:flex; flex-wrap:wrap; gap:13px; }
.diferenciais{ margin-top:12px; }

/* ---------- Cards genéricos ---------- */
.item{
  background:var(--branco);
  border:1px solid var(--rosa-150);
  border-radius:var(--raio);
  padding:30px 26px;
  box-shadow:var(--sombra);
  transition:transform .28s, box-shadow .28s, border-color .28s;
}
.item:hover{ transform:translateY(-6px); box-shadow:var(--sombra-md); border-color:var(--rosa-200); }
.item__icone{
  width:52px; height:52px; border-radius:16px;
  display:grid; place-items:center; margin-bottom:16px;
  background:linear-gradient(135deg, var(--rosa-150), var(--rosa-200));
  color:var(--rosa-700);
}
.item h3{ margin-bottom:.35em; }
.item p{ font-size:.95rem; color:var(--texto-suave); margin-bottom:0; }

/* Serviço */
.servico__meta{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:18px; padding-top:16px; border-top:1px dashed var(--rosa-200);
}
.servico__preco{ font-family:var(--fonte-titulo); font-size:1.15rem; font-weight:700; color:var(--rosa-600); }
.servico__duracao{ font-size:.8rem; color:var(--texto-suave); }
.servico__agendar{
  margin-top:16px; width:100%;
  background:var(--rosa-100); border:1px solid var(--rosa-200);
  color:var(--rosa-700); border-radius:999px; padding:.65em 1em;
  font-size:.88rem; font-weight:500; transition:background .2s, color .2s;
}
.servico__agendar:hover{ background:var(--rosa-500); border-color:var(--rosa-500); color:#fff; }

/* ---------- Avaliações do Google ---------- */
.resumo{
  display:flex; align-items:center; gap:clamp(20px,4vw,42px);
  flex-wrap:wrap; justify-content:center; text-align:left;
  padding:clamp(24px,3vw,34px) clamp(26px,4vw,44px);
  margin:0 auto clamp(34px,4vw,48px);
  max-width:760px;
}
.resumo__nota{ display:flex; flex-direction:column; align-items:center; gap:2px; flex:0 0 auto; }
.resumo__nota strong{
  font-family:var(--fonte-titulo); font-size:3.6rem; line-height:1;
  color:var(--rosa-600); font-weight:700;
}
.resumo__estrelas{ color:var(--dourado); letter-spacing:.14em; font-size:1.18rem; }
.resumo__texto{ flex:1 1 320px; }
.resumo__texto h3{
  display:flex; align-items:center; gap:9px;
  font-size:1.18rem; margin-bottom:.25em;
}
.resumo__texto p{ margin:0; font-size:.95rem; color:var(--texto-suave); }
.resumo__texto strong{ color:var(--grafite); }
.resumo__data{ display:inline-block; font-size:.82rem; opacity:.75; }
.google-g{ flex:0 0 auto; }

/* Card de avaliação */
.depo{ display:flex; flex-direction:column; }
.depo__topo{ display:flex; align-items:center; gap:11px; margin-bottom:12px; }
.depo__topo > div{ display:flex; flex-direction:column; line-height:1.25; min-width:0; }
.depo__autor{
  font-weight:500; color:var(--grafite); font-size:.95rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.depo__quando{ font-size:.78rem; color:var(--texto-suave); }
.depo__google{ margin-left:auto; display:grid; place-items:center; opacity:.9; }
.depo__estrelas{ color:var(--dourado); letter-spacing:.16em; margin-bottom:10px; font-size:1rem; }
.depo__texto{ font-size:.95rem; color:var(--texto); line-height:1.65; margin-bottom:0; flex:1; }
.depo__link{
  align-self:flex-start; margin-top:12px;
  font-size:.82rem; color:var(--rosa-600);
  border-bottom:1px solid var(--rosa-200); padding-bottom:1px;
}
.depo__link:hover{ border-bottom-color:var(--rosa-500); }
.depo__avatar{
  width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg, var(--rosa-300), var(--rosa-500));
  color:#fff; font-weight:600; font-size:1rem;
}
#google-acoes{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }

/* ---------- Galeria ---------- */
.galeria{ display:grid; grid-template-columns:repeat(auto-fill, minmax(215px,1fr)); gap:16px; }
.galeria__item{
  position:relative; padding:0; border:0; background:var(--rosa-150);
  border-radius:var(--raio); overflow:hidden; aspect-ratio:1/1;
  box-shadow:var(--sombra); cursor:pointer;
}
.galeria__item img{ width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.galeria__item:hover img{ transform:scale(1.07); }
.galeria__over{
  position:absolute; inset:0;
  display:flex; align-items:flex-end; justify-content:flex-start;
  padding:16px;
  background:linear-gradient(to top, rgba(163,67,100,.78), rgba(163,67,100,.05) 58%, transparent);
  opacity:0; transition:opacity .3s;
  color:#fff; font-size:.88rem; text-align:left;
}
.galeria__item:hover .galeria__over,
.galeria__item:focus-visible .galeria__over{ opacity:1; }
.galeria__cta{ text-align:center; margin-top:34px; }

/* ---------- Agendamento ---------- */
.agenda{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(30px,5vw,58px); align-items:start; }
.agenda__aside p{ color:var(--texto-suave); }

.passos{ margin:26px 0 34px; display:grid; gap:14px; }
.passos li{ display:flex; align-items:center; gap:14px; font-size:.97rem; color:var(--grafite); }
.passos span{
  flex:0 0 auto; width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(135deg, var(--rosa-400), var(--rosa-600));
  color:#fff; font-size:.88rem; font-weight:600;
}

.agenda__horarios{
  background:var(--branco); border:1px solid var(--rosa-150);
  border-radius:var(--raio); padding:24px 26px; box-shadow:var(--sombra);
}
.agenda__horarios h3{ font-size:1.1rem; margin-bottom:.7em; }
.agenda__horarios li{
  display:flex; justify-content:space-between; gap:14px;
  padding:.42em 0; font-size:.92rem;
  border-bottom:1px dashed var(--rosa-150);
}
.agenda__horarios li:last-child{ border-bottom:0; }
.agenda__horarios li.is-hoje{ color:var(--rosa-700); font-weight:500; }
.agenda__horarios li.is-hoje .dia::after{ content:" • hoje"; font-size:.72rem; color:var(--rosa-500); }
.agenda__horarios .fechado{ color:var(--texto-suave); }

.agenda__form{ padding:clamp(26px,3vw,38px); }
.field{ margin-bottom:17px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.field label{ display:block; font-size:.86rem; font-weight:500; color:var(--grafite); margin-bottom:.45em; }
.field input,.field select,.field textarea{
  width:100%; padding:.82em 1.05em;
  font-family:inherit; font-size:.97rem; color:var(--grafite);
  background:var(--rosa-50);
  border:1.5px solid var(--rosa-150);
  border-radius:var(--raio-sm);
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.field textarea{ resize:vertical; min-height:88px; }
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; background:#fff;
  border-color:var(--rosa-400);
  box-shadow:0 0 0 4px rgba(233,147,178,.20);
}
.field input.is-erro,.field select.is-erro{ border-color:#E06A6A; box-shadow:0 0 0 4px rgba(224,106,106,.14); }
.erro{ display:block; min-height:1em; margin-top:.3em; font-size:.78rem; color:#C74545; }
.form__aviso{ margin:14px 0 0; font-size:.78rem; color:var(--texto-suave); text-align:center; }

/* ---------- Localização ---------- */
.local{ display:grid; grid-template-columns:.85fr 1.15fr; gap:26px; align-items:stretch; }
.local__info{ padding:clamp(26px,3vw,38px); display:flex; flex-direction:column; gap:22px; }
.local__bloco h3{ font-size:1.05rem; margin-bottom:.3em; }
.local__bloco p{ margin:0; font-size:.97rem; }
.local__ref{ color:var(--texto-suave); font-size:.88rem !important; margin-top:.4em !important; }
.local__acoes{ display:flex; flex-wrap:wrap; gap:12px; margin-top:auto; }
.local__mapa{
  border-radius:var(--raio-lg); overflow:hidden; min-height:400px;
  border:1px solid var(--rosa-200); box-shadow:var(--sombra-md); background:var(--rosa-150);
}
.local__mapa iframe{ width:100%; height:100%; min-height:400px; border:0; display:block; }

/* ---------- CTA final ---------- */
.cta{
  background:linear-gradient(135deg, var(--rosa-300), var(--rosa-500) 55%, var(--rosa-600));
  color:#fff; padding:clamp(56px,7vw,86px) 0; text-align:center;
}
.cta h2{ color:#fff; }
.cta p{ color:rgba(255,255,255,.92); margin-bottom:26px; }

/* ---------- Rodapé ---------- */
.footer{ background:var(--grafite); color:#D9C8CE; padding-top:clamp(50px,6vw,74px); }
.footer a{ color:#D9C8CE; }
.footer a:hover{ color:var(--rosa-300); }
.footer__grid{
  display:grid; grid-template-columns:1.6fr 1fr 1.25fr 1.25fr;
  gap:34px; padding-bottom:44px;
}
.footer h4{ color:#fff; font-size:1.05rem; margin-bottom:.9em; }
.footer__col p{ font-size:.9rem; color:#B9A6AD; }
.footer__col ul li{ padding:.28em 0; font-size:.9rem; }
.brand--footer{ margin-bottom:14px; }
.brand--footer .brand__text strong{ color:#fff; }
.brand--footer .brand__text small{ color:var(--rosa-300); }
.footer__social{ display:flex; gap:10px; margin-top:16px; }
.footer__social a,.footer__social button{
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  color:#fff; transition:background .25s, transform .25s;
}
.footer__social a:hover,.footer__social button:hover{ background:var(--rosa-500); transform:translateY(-3px); color:#fff; }
.footer__horarios li{ display:flex; justify-content:space-between; gap:12px; }
.footer__horarios .fechado{ color:#8E7A81; }

.footer__bottom{ border-top:1px solid rgba(255,255,255,.10); padding:20px 0 26px; }
.footer__bottom-inner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
}
.copyright{ margin:0; font-size:.83rem; color:#9C878F; }
.credito{ text-align:right; }
.credito p{ margin:0; }
.credito__linha{ font-size:.87rem; color:#B9A6AD; }
.credito__linha a{
  color:#fff; font-weight:600; letter-spacing:.02em;
  border-bottom:1px solid var(--rosa-400); padding-bottom:1px;
}
.credito__linha a:hover{ color:var(--rosa-300); }
.credito__contato{ font-size:.79rem; color:#8E7A81; margin-top:3px !important; }
.credito__contato a{ color:#A8949B; }
.credito__contato a:hover{ color:var(--rosa-300); }

/* ---------- Botão flutuante WhatsApp ---------- */
.whatsapp-float{
  position:fixed; right:20px; bottom:20px; z-index:70;
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 20px 14px 16px;
  border:0; border-radius:999px;
  background:linear-gradient(135deg, var(--whats), var(--whats-esc));
  color:#fff; font-weight:500; font-size:.95rem;
  box-shadow:0 14px 34px rgba(18,140,126,.42);
  transition:transform .25s, box-shadow .25s;
}
.whatsapp-float:hover{ transform:translateY(-3px) scale(1.03); box-shadow:0 20px 44px rgba(18,140,126,.5); }
.whatsapp-float::after{
  content:""; position:absolute; inset:0; border-radius:999px;
  border:2px solid rgba(37,211,102,.55);
  animation:pulso 2.4s ease-out infinite;
}
@keyframes pulso{
  0%{ transform:scale(1); opacity:.7; }
  70%{ transform:scale(1.28); opacity:0; }
  100%{ opacity:0; }
}

/* ---------- Lightbox ---------- */
.lightbox{
  position:fixed; inset:0; z-index:90;
  display:flex; align-items:center; justify-content:center; gap:10px;
  background:rgba(62,47,53,.92); backdrop-filter:blur(6px);
  padding:20px;
}
.lightbox[hidden]{ display:none; }
.lightbox__fig{ margin:0; max-width:min(860px, 88vw); text-align:center; }
.lightbox__fig img{
  max-height:74vh; width:auto; margin-inline:auto;
  border-radius:var(--raio); box-shadow:var(--sombra-lg);
}
.lightbox__fig figcaption{ color:#fff; margin-top:14px; font-size:.95rem; }
.lightbox__fechar,.lightbox__nav{
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22);
  color:#fff; border-radius:50%; width:48px; height:48px;
  font-size:1.7rem; line-height:1; display:grid; place-items:center;
  transition:background .2s;
}
.lightbox__fechar:hover,.lightbox__nav:hover{ background:rgba(255,255,255,.26); }
.lightbox__fechar{ position:absolute; top:22px; right:22px; font-size:1.9rem; }

/* ---------- Toast ---------- */
.toast{
  position:fixed; left:50%; bottom:32px; transform:translate(-50%, 140%);
  z-index:100; max-width:min(440px, 90vw);
  background:var(--grafite); color:#fff;
  padding:14px 22px; border-radius:var(--raio-sm);
  font-size:.9rem; line-height:1.45; text-align:center;
  box-shadow:var(--sombra-lg);
  transition:transform .4s cubic-bezier(.2,.8,.3,1.2);
}
.toast.is-visivel{ transform:translate(-50%, 0); }
.toast--erro{ background:#8E3B3B; }

/* ---------- Animação de entrada ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visivel{ opacity:1; transform:none; }

/* ---------- Responsivo ---------- */
@media (max-width: 980px){
  .hero__inner,
  .historia,
  .agenda,
  .local{ grid-template-columns:1fr; }
  .hero{ padding-top:calc(var(--header-h) + 40px); text-align:center; }
  .hero__text{ margin-inline:auto; }
  .hero__actions,.hero__badges{ justify-content:center; }
  .hero__visual{ max-width:420px; margin-inline:auto; }
  .hero__float--1{ left:-2%; }
  .hero__float--2{ right:-2%; }
  .historia__foto{ max-width:380px; margin-inline:auto; }
  .historia__texto{ margin-top:44px; }
  .footer__grid{ grid-template-columns:repeat(auto-fit, minmax(210px,1fr)); }
}

@media (max-width: 760px){
  .burger{ display:block; }
  .nav{
    position:fixed; inset:var(--header-h) 0 auto 0;
    flex-direction:column; align-items:stretch; gap:2px;
    background:#fff; padding:16px 22px 26px;
    border-bottom:1px solid var(--rosa-150);
    box-shadow:0 18px 34px rgba(196,87,124,.14);
    transform:translateY(-130%); opacity:0; pointer-events:none;
    transition:transform .35s ease, opacity .25s ease;
  }
  .nav.is-open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav a{ padding:.8em 1em; text-align:center; }
  .nav .nav__cta{ margin:8px 0 0; }

  .field-row{ grid-template-columns:1fr; }
  .hero__float{ display:none; }
  .credito{ text-align:left; }
  .footer__bottom-inner{ flex-direction:column; align-items:flex-start; }
  .whatsapp-float__label{ display:none; }
  .whatsapp-float{ padding:16px; right:16px; bottom:16px; }
  .historia__texto p:first-of-type::first-letter{ font-size:2.6rem; }
  .lightbox__nav{ width:40px; height:40px; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .reveal{ opacity:1; transform:none; }
}
