/* Everglow Eternize · página inicial */

html { scrollbar-width: none; }
html::-webkit-scrollbar { display: none; }
main, .fecho { z-index: 1; position: relative; }

/* ---------- fotos de fundo: gradiente quente com grão enquanto a foto real não chega ---------- */
.foto-fundo {
  --grao: 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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-color: #b98a68;
  position: relative;
  overflow: hidden;
}
.foto-fundo:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--grao);
  opacity: 0.22;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 1;
}
.foto-fundo > img.foto-real {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s var(--ease), transform 1.3s var(--ease);
}
.foto-fundo > img.foto-real.is-carregada { opacity: 1; }
.foto-fundo.tem-foto:before { opacity: 0.08; }

.foto-fundo--parto {
  background:
    radial-gradient(38% 30% at 62% 38%, #ffe7cc 0%, #ffe7cc00 70%),
    radial-gradient(60% 50% at 30% 70%, #8c4f36cc, #8c4f3600 70%),
    radial-gradient(14% 10% at 22% 22%, #fff3e2aa, #fff3e200 70%),
    radial-gradient(9% 7% at 80% 16%, #ffe3c2aa, #ffe3c200 70%),
    linear-gradient(170deg, #6f3d2b, #3a1f17 70%, #24130e);
}
.foto-fundo--newborn {
  background:
    radial-gradient(34% 26% at 50% 46%, #fbe9dc, #fbe9dc00 72%),
    radial-gradient(70% 40% at 50% 100%, #e9d2bf, #e9d2bf00 70%),
    radial-gradient(30% 22% at 78% 20%, #ffffffa8, #fff0 70%),
    linear-gradient(180deg, #efe1d2, #e2cbb6 60%, #d4b79c);
}
.foto-fundo--familia {
  background:
    radial-gradient(46% 34% at 72% 26%, #ffd9a1, #ffd9a100 70%),
    radial-gradient(10% 8% at 20% 30%, #ffe8c4cc, #ffe8c400 70%),
    radial-gradient(7% 5% at 40% 18%, #ffe8c4aa, #ffe8c400 70%),
    radial-gradient(60% 50% at 40% 80%, #6b4a2a, #6b4a2a00 75%),
    linear-gradient(175deg, #b07a43, #7a4f2c 55%, #3d2817);
}
.foto-fundo--p1 { background: radial-gradient(40% 30% at 50% 40%, #f7d6bd, #f7d6bd00 70%), linear-gradient(160deg, #8a5640, #45261b); }
.foto-fundo--p2 { background: radial-gradient(44% 34% at 46% 54%, #fcebdf, #fcebdf00 70%), linear-gradient(180deg, #eadbcb, #cdb299); }
.foto-fundo--p3 { background: radial-gradient(50% 40% at 60% 30%, #ffd8a8, #ffd8a800 70%), linear-gradient(170deg, #c48c5b, #6d4527); }
.foto-fundo--p4 { background: radial-gradient(46% 32% at 40% 36%, #f6e2c9, #f6e2c900 70%), linear-gradient(165deg, #9c7756, #4e3622); }
.foto-fundo--p5 { background: radial-gradient(40% 30% at 54% 46%, #fde4d6, #fde4d600 70%), linear-gradient(180deg, #e8c8b8, #b98d79); }
.foto-fundo--banco {
  background:
    radial-gradient(40% 50% at 78% 30%, #ffcf96, #ffcf9600 70%),
    radial-gradient(12% 9% at 18% 22%, #ffe6c4bb, #ffe6c400 70%),
    radial-gradient(8% 6% at 30% 12%, #ffe6c499, #ffe6c400 70%),
    radial-gradient(70% 60% at 20% 100%, #2c170f, #2c170f00 70%),
    linear-gradient(160deg, #a8683d, #6b3c23 50%, #2f1a11);
}
.foto-fundo--fecho {
  background:
    radial-gradient(60% 40% at 50% 26%, #fff2dc, #fff2dc00 70%),
    radial-gradient(90% 60% at 50% 100%, #b77a4a, #b77a4a00 70%),
    linear-gradient(180deg, #f2cf9f, #e0a86f 50%, #a9683c);
}

/* ---------- barra de luz da janela (respiros) ---------- */
.raio {
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.6s var(--ease);
  position: fixed;
  inset: 0;
  overflow: hidden;
}
.raio.is-on { opacity: 1; }
.raio i {
  position: absolute;
  top: -20vh;
  right: -18vw;
  width: min(70vw, 1000px);
  height: 140vh;
  background:
    linear-gradient(100deg, #fff0 0 18%, #fff7e9 18% 27%, #fff0 27% 33%, #fff7e9 33% 45%, #fff0 45% 51%, #fff7e9 51% 58%, #fff0 58%);
  filter: blur(26px);
  opacity: 0.75;
  transform: rotate(18deg);
  transform-origin: 100% 0;
  animation: brisa 11s var(--ease-io) infinite alternate;
  mix-blend-mode: soft-light;
}
@keyframes brisa {
  0% { transform: rotate(16deg) translate(0, 0); }
  to { transform: rotate(19deg) translate(1.6vw, 1vh); }
}

/* ---------- nav ---------- */
.nav {
  z-index: 60;
  top: var(--margem);
  left: var(--margem);
  right: var(--margem);
  pointer-events: none;
  transition: transform 0.6s var(--ease);
  position: fixed;
}
.nav.is-oculta { transform: translateY(calc(-100% - var(--margem) - 6px)); }
.nav__in {
  pointer-events: auto;
  border-radius: var(--r-card);
  height: 88px;
  transition: height 0.5s var(--ease), background-color 0.5s var(--ease), box-shadow 0.5s var(--ease);
  align-items: center;
  gap: clamp(24px, 3.4vw, 52px);
  padding: 0 clamp(16px, 2.2vw, 32px) 0 clamp(20px, 2.9vw, 42px);
  display: flex;
}
.nav.is-solida .nav__in {
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  backdrop-filter: blur(18px) saturate(1.4);
  background: #f8f4eec2;
  height: 64px;
  box-shadow: 0 0 0 1px #1d17140f, 0 12px 32px -18px #1d171447;
}
.nav__marca { border-radius: 12px; align-items: center; gap: 10px; height: 44px; margin-left: -6px; display: flex; }
.nav__nome { font-size: 25px; letter-spacing: -0.03em; }
@media (hover: hover) {
  :where(html:not(.is-scrolling)) .nav__marca:hover .marca__arco { transform: rotate(-14deg); }
  :where(html:not(.is-scrolling)) .nav__marca:hover .marca__luz { transform: rotate(90deg) scale(1.15); }
}
.nav__marca:active .marca { transform: scale(0.94); }
.nav__links { align-items: center; gap: clamp(4px, 1vw, 14px); display: flex; }
.nav__links a {
  border-radius: var(--r-pilula);
  letter-spacing: -0.01em;
  isolation: isolate;
  padding: 9px 12px;
  font-size: 15px;
  font-weight: 450;
  position: relative;
}
.nav__links a:before {
  content: "";
  z-index: -1;
  border-radius: inherit;
  opacity: 0;
  transition: opacity 0.35s var(--ease), transform 0.5s var(--ease);
  background: #ffffff9e;
  position: absolute;
  inset: 0;
  transform: scale(0.82);
}
.nav.is-solida .nav__links a:before { background: #1d17140f; }
@media (hover: hover) {
  :where(html:not(.is-scrolling)) .nav__links a:hover:before { opacity: 1; transform: none; }
}
.nav__links a:active:before { opacity: 1; transform: scale(0.94); }
.nav__acoes { align-items: center; gap: 8px; margin-left: auto; display: flex; }
.btn--nav { --alt: 44px; padding: 0 20px; font-size: 15px; }
.nav__menu { display: none; }
@media (max-width: 960px) { .nav__links { display: none; } }
@media (max-width: 760px) {
  .nav__in { gap: 12px; height: 70px; padding: 0 12px 0 16px; }
  .nav.is-solida .nav__in { height: 60px; }
  .nav__marca .marca { width: 32px; height: 32px; }
  .nav__nome { font-size: 22px; }
  .nav__entrar { display: none; }
  .btn--nav { --alt: 40px; gap: 8px; padding: 0 16px; font-size: 14px; }
  .nav__menu {
    width: 40px;
    height: 40px;
    transition: transform var(--t-micro) var(--ease);
    background: #fff;
    border-radius: 50%;
    place-content: center;
    gap: 5px;
    display: grid;
    box-shadow: 0 1px 2px #1d171414;
  }
  .nav__menu i { background: var(--tinta); width: 16px; height: 1.6px; border-radius: 2px; display: block; }
  .nav__menu:active { transform: scale(0.92); }
}
@media (max-width: 400px) { .nav__nome { display: none; } }

/* ---------- menu do celular ---------- */
.menu {
  z-index: 80;
  background: var(--papel);
  clip-path: inset(0 0 100% round 0 0 28px 28px);
  transition: clip-path 0.7s var(--ease-io);
  position: fixed;
  inset: 0;
}
.menu.is-aberto { clip-path: inset(0); }
.menu__in { height: 100%; padding: 22px 22px calc(28px + env(safe-area-inset-bottom)); flex-direction: column; display: flex; }
.menu__topo { justify-content: space-between; align-items: center; display: flex; }
.menu__nome { font-size: 28px; }
.menu__fecha {
  width: 44px;
  height: 44px;
  transition: transform var(--t-micro) var(--ease);
  background: #fff;
  border-radius: 50%;
  position: relative;
  box-shadow: 0 1px 2px #1d171414;
}
.menu__fecha i { background: var(--tinta); border-radius: 2px; width: 16px; height: 1.6px; position: absolute; top: 21px; left: 14px; transform: rotate(45deg); }
.menu__fecha i + i { transform: rotate(-45deg); }
.menu__fecha:active { transform: scale(0.92); }
.menu__links { gap: 2px; margin: auto 0; display: grid; }
.menu__links a {
  opacity: 0;
  transition: opacity 0.5s var(--ease), transform 0.8s var(--ease), color 0.3s;
  padding: 6px 0;
  font-size: 44px;
  transform: translateY(18px);
}
.menu.is-aberto .menu__links a { opacity: 1; transform: none; }
.menu.is-aberto .menu__links a:nth-child(2) { transition-delay: 50ms; }
.menu.is-aberto .menu__links a:nth-child(3) { transition-delay: 0.1s; }
.menu.is-aberto .menu__links a:nth-child(4) { transition-delay: 0.15s; }
.menu__links a:active { color: var(--glow-700); }
.menu__acoes { grid-template-columns: 1fr 1fr; gap: 8px; display: grid; }

/* ---------- hero ---------- */
.hero__card {
  height: var(--card-h, 118svh);
  min-height: 860px;
  isolation: isolate;
  background: #f1d9bf;
  position: relative;
  overflow: hidden;
}
/* a base do hero se dissolve no papel da página */
.hero__card:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 120px;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(#f1ebe300, var(--pagina));
}
.hero__luz {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(60% 46% at 50% 30%, #fff6ea 0%, #fff6ea00 70%),
    linear-gradient(180deg, #f0c9a2 0%, #f6dcc3 34%, #f5e6d6 62%, #f1ebe3 100%);
  will-change: transform;
}
.hero__sol {
  position: absolute;
  left: 50%;
  top: 26%;
  width: min(80vw, 1100px);
  aspect-ratio: 1;
  translate: -50% -50%;
  border-radius: 50%;
  background: radial-gradient(closest-side, #fff8ee, #ffe9cf88 40%, #ffe9cf00 72%);
  animation: respira 9s var(--ease-io) infinite alternate;
}
@keyframes respira {
  from { transform: scale(0.94); opacity: 0.85; }
  to { transform: scale(1.04); opacity: 1; }
}
.bokeh {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--t);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(closest-side, #fffaf2e6, #ffe2bd88 55%, #ffe2bd00);
  filter: blur(1.5px);
  opacity: 0.55;
  mix-blend-mode: screen;
  animation: flutua 14s var(--ease-io) var(--d) infinite alternate;
}
@keyframes flutua {
  0% { transform: translate(0, 0) scale(1); opacity: 0.35; }
  50% { opacity: 0.7; }
  to { transform: translate(24px, -34px) scale(1.12); opacity: 0.45; }
}
.js .hero__luz { opacity: 0; transform: scale(1.04); transition: opacity 1.1s var(--ease), transform 2.4s var(--ease); }
.js .is-pronto .hero__luz { opacity: 1; transform: none; }

.hero__palco { z-index: 1; padding-top: clamp(112px, 15vh, 150px); position: relative; }
.hero__texto { text-align: center; padding: 0 var(--gutter); flex-direction: column; align-items: center; display: flex; }
.chip {
  border-radius: var(--r-pilula);
  height: 30px;
  transition: background-color 0.4s var(--ease), box-shadow 0.4s var(--ease), transform var(--t-micro) var(--ease);
  background: #ffffffdb;
  align-items: center;
  gap: 8px;
  padding: 3px 12px 3px 3px;
  display: inline-flex;
  box-shadow: 0 1px 2px #1d17140f, inset 0 0 0 1px #1d17140a;
}
.chip__tag {
  border-radius: var(--r-pilula);
  background: var(--tinta);
  color: #fff;
  place-items: center;
  height: 24px;
  padding: 0 10px;
  font-size: 12.5px;
  font-weight: 500;
  display: grid;
}
.chip__txt { font-family: var(--mono); letter-spacing: -0.01em; color: #3b302a; font-size: 12.5px; }
.ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.chip__seta { width: 14px; height: 14px; color: var(--tinta-2); transition: transform 0.5s var(--ease); margin-left: -2px; }
@media (hover: hover) {
  :where(html:not(.is-scrolling)) .chip:hover { background: #fff; box-shadow: 0 6px 18px -10px #1d171459; }
  :where(html:not(.is-scrolling)) .chip:hover .chip__seta { transform: translate(3px); }
}
.chip:active { transform: scale(0.97); }
.hero__titulo {
  font-size: var(--f-hero);
  letter-spacing: -0.038em;
  white-space: nowrap;
  margin-top: clamp(18px, 2.6vh, 26px);
  line-height: 0.98;
}
.hero__sub { color: #5b4d44; margin-top: clamp(14px, 2.3vh, 22px); font-size: clamp(15px, min(1.18vw, 2.05vh), 18px); line-height: 1.5; }
.hero__ctas { gap: 10px; margin-top: clamp(18px, 2.9vh, 28px); display: flex; }
.hero__app { z-index: 1; width: min(1040px, 70.5%); margin: clamp(26px, 4.2vh, 40px) auto 0; position: relative; will-change: transform; }
.js .hero__app .app { opacity: 0; transition: opacity 1s var(--ease), transform 1.6s var(--ease); transition-delay: 0.35s; transform: translateY(70px); }
.js .is-pronto .hero__app .app { opacity: 1; transform: none; }

/* véu de tecido na frente */
.hero__veu {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: clamp(220px, 40vh, 420px);
  z-index: 2;
  pointer-events: none;
  will-change: transform;
}
.hero__veu svg { width: 100%; height: 100%; }
.veu-1 { fill: #f4e2cf; opacity: 0.75; }
.veu-2 { fill: #f5e9dc; opacity: 0.92; }
.veu-3 { fill: var(--pagina); }
.js .hero__veu svg { transform: translateY(8%); transition: transform 2.2s var(--ease); }
.js .is-pronto .hero__veu svg { transform: none; }

.hero__prova {
  z-index: 5;
  left: 0;
  right: 0;
  bottom: clamp(36px, 7vh, 72px);
  text-align: center;
  will-change: transform;
  position: absolute;
}
.hero__prova p { letter-spacing: 0.08em; text-transform: uppercase; font-size: 12.5px; font-weight: 500; color: var(--tinta-2); }
.hero__prova ul {
  letter-spacing: -0.02em;
  justify-content: center;
  gap: clamp(22px, 4.6vw, 72px);
  margin-top: clamp(12px, 2vh, 20px);
  font-size: clamp(20px, 1.75vw, 27px);
  display: flex;
  flex-wrap: wrap;
  padding: 0 var(--gutter);
}
.hero__prova li { color: var(--tinta); }
.hero__prova li:nth-child(2n) { font-style: italic; color: var(--glow-700); }
.js .hero__prova { opacity: 0; }
.js .is-pronto .hero__prova { opacity: 1; transition: opacity 1.2s var(--ease) 0.9s; }
.js .is-pronto .hero__prova.is-longe { opacity: 0; transition: opacity 0.6s var(--ease); }

/* ---------- a galeria de demonstração no hero ---------- */
.app {
  border-radius: var(--r-app);
  background: #fff;
  box-shadow: var(--sombra-app), 0 0 0 1px #1d17140d;
  grid-template-columns: 206px minmax(0, 1fr);
  font-size: 13.5px;
  display: grid;
  position: relative;
  overflow: hidden;
  text-align: left;
}
.app__lado { background: var(--papel); border-right: 1px solid var(--fio); flex-direction: column; gap: 22px; padding: 18px 12px 14px; display: flex; }
.app__marca { align-items: center; gap: 8px; padding: 0 8px; font-family: var(--serifa); font-size: 21px; letter-spacing: -0.03em; display: flex; }
.app__marca .marca { width: 26px; height: 26px; }
.app__menu { display: grid; gap: 2px; }
.app__menu a { border-radius: 10px; align-items: center; gap: 9px; padding: 8px 10px; color: var(--tinta-2); display: flex; transition: background-color 0.3s; }
.app__menu a small { margin-left: auto; color: var(--tinta-3); font-size: 12px; }
.app__menu a.is-ativo { background: var(--glow-100); color: var(--glow-900); font-weight: 500; }
.app__menu a.is-ativo small { color: var(--glow-700); }
.app__menu .ico { width: 17px; height: 17px; }
.app__privada { border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--fio); align-items: center; gap: 10px; margin-top: auto; padding: 10px; display: flex; }
.app__privada-ico { width: 30px; height: 30px; border-radius: 9px; background: var(--glow-100); color: var(--glow-700); place-items: center; display: grid; position: relative; }
.app__privada-ico .ico { width: 16px; height: 16px; }
.pulso { position: absolute; top: -2px; right: -2px; width: 8px; height: 8px; border-radius: 50%; background: var(--glow-500); box-shadow: 0 0 0 2px #fff; }
.pulso:after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--glow-500); animation: pulsa 2.2s var(--ease) infinite; }
@keyframes pulsa { 0% { transform: scale(1); opacity: 0.6; } to { transform: scale(3); opacity: 0; } }
.app__privada-txt { display: grid; line-height: 1.25; font-size: 12px; }
.app__privada-txt span { color: var(--tinta-3); }
.app__main { min-width: 0; }
.app__topo { border-bottom: 1px solid var(--fio); align-items: center; gap: 12px; padding: 12px 16px; display: flex; }
.app__cliente { align-items: center; gap: 8px; font-weight: 500; display: flex; white-space: nowrap; }
.app__cliente-ini { width: 26px; height: 26px; border-radius: 8px; background: var(--rosa-100); color: #8b4a3b; font-size: 11px; font-weight: 600; place-items: center; display: grid; }
.app__busca { flex: 1; max-width: 330px; height: 34px; border-radius: 10px; background: var(--papel); color: var(--tinta-3); align-items: center; gap: 8px; padding: 0 12px; display: flex; white-space: nowrap; overflow: hidden; }
.app__busca .ico { width: 16px; height: 16px; }
.app__baixar { margin-left: auto; height: 34px; border-radius: var(--r-pilula); background: var(--tinta); color: #fff; align-items: center; gap: 7px; padding: 0 14px; font-weight: 500; font-size: 13px; display: flex; white-space: nowrap; }
.app__baixar .ico { width: 16px; height: 16px; }
.app__corpo { padding: 16px 16px 18px; }
.app__titulo { justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; display: flex; }
.app__titulo h2 { font-family: var(--serifa); font-weight: 400; font-size: 24px; letter-spacing: -0.025em; }
.seg { border-radius: var(--r-pilula); background: var(--papel); padding: 3px; display: inline-flex; position: relative; isolation: isolate; }
.seg button { height: 28px; padding: 0 12px; border-radius: var(--r-pilula); font-size: 12.5px; color: var(--tinta-2); transition: color 0.4s var(--ease); position: relative; }
.seg button[aria-selected="true"] { color: var(--tinta); font-weight: 500; }
.seg__fundo { position: absolute; z-index: -1; top: 3px; bottom: 3px; left: 0; width: 0; border-radius: var(--r-pilula); background: #fff; box-shadow: 0 1px 3px #1d17141f; transition: transform 0.5s var(--ease), width 0.5s var(--ease); }

.grade { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: clamp(62px, 7vw, 96px); gap: 8px; }
.ft { border-radius: 10px; position: relative; overflow: hidden; background: #d9c2ac; }
.ft--alta { grid-row: span 2; }
.ft--1 { background: radial-gradient(60% 50% at 50% 40%, #f6d8bf, #f6d8bf00 70%), linear-gradient(160deg, #a46a4b, #5a3324); }
.ft--2 { background: radial-gradient(50% 40% at 50% 50%, #fbe8da, #fbe8da00 70%), linear-gradient(180deg, #e9d6c3, #cfb197); }
.ft--3 { background: radial-gradient(60% 50% at 60% 30%, #ffd9a6, #ffd9a600 70%), linear-gradient(170deg, #c58e5a, #774a28); }
.ft--4 { background: radial-gradient(50% 40% at 40% 40%, #f5dcc8, #f5dcc800 70%), linear-gradient(165deg, #7d4c39, #33201a); }
.ft--5 { background: radial-gradient(50% 40% at 50% 46%, #fde5d8, #fde5d800 70%), linear-gradient(180deg, #e6c4b3, #b88a76); }
.ft--6 { background: radial-gradient(60% 50% at 40% 30%, #f8e6cf, #f8e6cf00 70%), linear-gradient(165deg, #a7825f, #574029); }
.ft img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.9s var(--ease); }
.ft img.is-carregada { opacity: 1; }
.js .ft { opacity: 0; transform: scale(0.94); }
.js .is-pronto .ft { opacity: 1; transform: none; transition: opacity 0.8s var(--ease), transform 1s var(--ease); transition-delay: calc(0.7s + var(--n, 0) * 55ms); }
.ft__play { position: absolute; inset: 0; margin: auto; width: 34px; height: 34px; border-radius: 50%; background: #ffffffd9; color: var(--tinta); place-items: center; display: grid; z-index: 1; }
.ft__play .ico { width: 15px; height: 15px; fill: currentColor; stroke: none; margin-left: 2px; }
.ft__dur { position: absolute; right: 6px; bottom: 6px; font-size: 10.5px; color: #fff; background: #1d171480; border-radius: 6px; padding: 1px 6px; z-index: 1; }
.ft__fav { position: absolute; right: 6px; top: 6px; color: #fff; z-index: 1; }
.ft__fav .ico { width: 16px; height: 16px; fill: #fff; stroke: none; filter: drop-shadow(0 1px 3px #0005); }

.aviso {
  position: absolute;
  top: 58px;
  right: 16px;
  z-index: 3;
  width: min(300px, 46%);
  border-radius: 14px;
  background: #fffffff2;
  box-shadow: 0 0 0 1px var(--fio), 0 18px 40px -16px #3a221666;
  align-items: center;
  gap: 10px;
  padding: 10px 12px 14px;
  display: flex;
  opacity: 0;
  transform: translateY(-10px) scale(0.97);
  transition: opacity 0.5s var(--ease), transform 0.7s var(--ease);
}
.aviso.is-on { opacity: 1; transform: none; }
.aviso__ico { width: 30px; height: 30px; border-radius: 9px; background: var(--glow-100); color: var(--glow-700); place-items: center; display: grid; flex: none; transition: background-color 0.4s, color 0.4s; }
.aviso.is-feito .aviso__ico { background: var(--ok-100); color: var(--ok-600); }
.aviso__ico .ico { width: 16px; height: 16px; }
.aviso__txt { display: grid; line-height: 1.3; font-size: 12.5px; min-width: 0; }
.aviso__txt span { color: var(--tinta-3); }
.aviso__barra { position: absolute; left: 12px; right: 12px; bottom: 7px; height: 3px; border-radius: 3px; background: var(--fio); overflow: hidden; }
.aviso__barra i { position: absolute; inset: 0; background: linear-gradient(90deg, var(--glow-500), var(--glow-700)); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); transition: transform 0.25s linear; }
.aviso.is-feito .aviso__barra i { background: var(--ok-600); }

@media (max-width: 1100px) { .hero__app { width: min(1040px, 86%); } }
@media (max-width: 760px) {
  .hero__card { min-height: 0; height: auto; padding-bottom: 210px; }
  .hero__palco { padding-top: 112px; }
  .hero__titulo { white-space: normal; font-size: clamp(38px, 11vw, 54px); }
  .hero__sub br { display: none; }
  .hero__ctas { flex-direction: column; width: 100%; max-width: 340px; }
  .hero__app { width: calc(100% - 24px); }
  .app { grid-template-columns: minmax(0, 1fr); }
  .app__lado, .app__busca { display: none; }
  .app__titulo h2 { font-size: 19px; }
  .seg button { padding: 0 9px; font-size: 11.5px; }
  .grade { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 84px; }
  .grade .ft:nth-child(n + 10) { display: none; }
  .aviso { width: auto; left: 12px; right: 12px; top: auto; bottom: 12px; }
  .hero__veu { height: 260px; }
  .hero__prova { bottom: 34px; }
  .hero__prova ul { font-size: 19px; gap: 6px 18px; }
}

/* ---------- respiro ---------- */
.manha { padding: clamp(120px, 21vh, 240px) var(--gutter) clamp(112px, 18vh, 200px); text-align: center; position: relative; }
.manha__frase { letter-spacing: -0.036em; white-space: nowrap; font-size: clamp(36px, 4.6vw, 80px); line-height: 1.04; }
@media (max-width: 760px) {
  .manha { padding: 120px 20px 104px; }
  .manha__frase { white-space: normal; font-size: clamp(22px, 6.6vw, 40px); }
  .manha__frase .linha, .seguranca .h2 .linha { white-space: nowrap; }
  .raio i { width: 150vw; right: -60vw; }
}

/* ---------- trabalhos: três cards ---------- */
.produto { padding: 0 var(--margem); }
.produto__grade { gap: var(--margem); grid-template-columns: repeat(3, minmax(0, 1fr)); display: grid; }
.cartao {
  border-radius: var(--r-card);
  isolation: isolate;
  color: #fff;
  background: #4a2f22;
  height: clamp(580px, 80vh, 780px);
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
}
.cartao__foto { z-index: -2; position: absolute; inset: 0; }
.cartao:after { content: ""; z-index: -1; pointer-events: none; position: absolute; inset: 0; }
.cartao--escuro:after { background: linear-gradient(#140a0600 42%, #140a062e 62%, #140a06b0); }
.cartao--claro { color: var(--tinta); background: #e9dccd; }
.cartao--claro:after { background: linear-gradient(#f6eee400 46%, #f6eee44d 66%, #f6eee4e0); }
.cartao__texto { position: absolute; bottom: clamp(22px, 2.2vw, 30px); left: clamp(22px, 2vw, 30px); right: clamp(22px, 2vw, 30px); }
.cartao__texto h3 { font-size: var(--f-h3); letter-spacing: -0.026em; font-variation-settings: "opsz" 60; white-space: nowrap; line-height: 1.06; }
.cartao__texto p { color: #ffffffd6; max-width: 34ch; margin-top: 10px; font-size: 15px; line-height: 1.5; }
.cartao--claro .cartao__texto p { color: #574a40; }
.js .cartao { opacity: 0; transform: translateY(80px); }
.js .cartao.is-in { opacity: 1; transition: opacity 0.9s var(--ease), transform 1.3s var(--ease); transition-delay: var(--atraso, 0s); transform: none; }
.js .cartao .cartao__foto { transform: scale(1.1); }
.js .cartao.is-in .cartao__foto { transition: transform 2s var(--ease); transition-delay: var(--atraso, 0s); transform: none; }

.widget {
  border-radius: var(--r-dentro);
  -webkit-tap-highlight-color: transparent;
  padding: 18px 18px 16px;
  font-size: 13px;
  line-height: 1.35;
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
}
.widget--vidro {
  color: #fff;
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
  backdrop-filter: blur(22px) saturate(1.35);
  background: linear-gradient(160deg, #fff3, #ffffff1a);
  box-shadow: inset 0 0 0 1px #ffffff4d, 0 24px 48px -28px #00000080;
}
.widget--claro {
  color: var(--tinta);
  -webkit-backdrop-filter: blur(22px) saturate(1.3);
  backdrop-filter: blur(22px) saturate(1.3);
  background: #fffc;
  box-shadow: inset 0 0 0 1px #ffffffd9, 0 24px 48px -28px #3a221680;
}
.w-topo { align-items: center; gap: 10px; display: flex; }
.w-ico { width: 28px; height: 28px; border-radius: 9px; background: #ffffff2e; place-items: center; display: grid; }
.w-ico .ico { width: 16px; height: 16px; }
.w-tit { font-weight: 500; font-size: 13.5px; }
.w-total { margin-left: auto; font-size: 18px; font-weight: 600; letter-spacing: -0.02em; }
.w-chip { margin-left: auto; height: 26px; border-radius: var(--r-pilula); background: #ffffff2e; box-shadow: inset 0 0 0 1px #ffffff40; align-items: center; gap: 6px; padding: 0 10px; font-size: 12px; font-weight: 500; display: inline-flex; white-space: nowrap; }
.w-chip--claro { background: #ffffff38; }
.w-chip--ok { background: var(--ok-100); color: var(--ok-600); box-shadow: none; }
.w-chip__check { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; }
.is-in .w-chip__check path, .w-chip.is-on .w-chip__check path { animation: risca 0.6s var(--ease) 0.6s both; }
.w-cliente { margin-top: 14px; color: #ffffffc7; }
.w-valor { margin-top: 2px; font-size: clamp(28px, 2.5vw, 36px); font-weight: 600; letter-spacing: -0.035em; line-height: 1.15; }
.w-variacao { align-items: center; gap: 6px; margin-top: 4px; color: #ffffffcc; font-size: 12.5px; display: flex; }
.w-variacao .ico { width: 14px; height: 14px; fill: currentColor; stroke: none; }

.w-player { margin-top: 12px; align-items: center; gap: 10px; display: flex; }
.w-player__play { width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--tinta); place-items: center; display: grid; flex: none; transition: transform var(--t-micro) var(--ease); }
.w-player__play .ico { width: 14px; height: 14px; fill: currentColor; stroke: none; margin-left: 2px; }
.w-player__play:active { transform: scale(0.9); }
.w-player.is-tocando .w-player__play .ico { margin-left: 0; }
.w-player__trilho { flex: 1; height: 4px; border-radius: 4px; background: #ffffff40; position: relative; overflow: hidden; }
.w-player__trilho i { position: absolute; inset: 0; background: #fff; transform-origin: 0 50%; transform: scaleX(var(--p, 0.18)); }
.w-player__tempo { font-size: 12px; color: #ffffffcc; min-width: 40px; text-align: right; }

.w-modo { margin-top: 14px; border-radius: var(--r-pilula); background: #ffffff21; padding: 3px; display: inline-flex; position: relative; isolation: isolate; }
.w-modo button { height: 30px; padding: 0 12px; border-radius: var(--r-pilula); align-items: center; gap: 6px; font-size: 12.5px; color: #ffffffd9; display: inline-flex; transition: color 0.4s var(--ease); }
.w-modo button .ico { width: 15px; height: 15px; }
.w-modo button[aria-selected="true"] { color: var(--tinta); font-weight: 500; }
.w-modo__fundo { position: absolute; z-index: -1; top: 3px; bottom: 3px; left: 0; width: 0; border-radius: var(--r-pilula); background: #fff; transition: transform 0.5s var(--ease), width 0.5s var(--ease); }
.w-rodape { margin-top: 14px; padding-top: 12px; border-top: 1px solid #ffffff33; align-items: center; gap: 8px; color: #ffffffcc; font-size: 12.5px; display: flex; }
.w-rodape .ico { width: 15px; height: 15px; }

.w-lista { margin-top: 12px; display: grid; }
.w-item { border-top: 1px solid var(--fio); align-items: center; gap: 10px; padding: 9px 0; display: flex; }
.w-nome { display: grid; flex: 1; min-width: 0; line-height: 1.3; font-weight: 500; }
.w-nome small { color: var(--tinta-3); font-weight: 400; font-size: 12px; }
.w-val { color: var(--tinta-2); font-size: 12.5px; }
.w-tag { height: 24px; border-radius: var(--r-pilula); background: var(--papel); color: var(--tinta-2); align-items: center; padding: 0 10px; font-size: 11.5px; font-weight: 500; display: inline-flex; white-space: nowrap; }
.w-tag--ok { background: var(--ok-100); color: var(--ok-600); }
.w-tag--botao { background: var(--glow-100); color: var(--glow-700); transition: background-color 0.4s, color 0.4s, transform var(--t-micro) var(--ease); }
.w-tag--botao:active { transform: scale(0.94); }
.w-tag--botao.is-ok { background: var(--ok-100); color: var(--ok-600); }
.w-aviso { border-top: 1px solid var(--fio); align-items: center; gap: 10px; margin-top: 2px; padding-top: 12px; color: var(--tinta-2); cursor: pointer; display: flex; }
.w-aviso > span { align-items: center; gap: 8px; flex: 1; display: flex; font-size: 12.5px; }
.w-aviso .ico { width: 15px; height: 15px; }
.w-switch { width: 36px; height: 22px; border-radius: 22px; background: var(--fio-forte); position: relative; transition: background-color 0.4s var(--ease); flex: none; }
.w-switch:after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #0003; transition: transform 0.45s var(--ease); }
.w-aviso input:checked + .w-switch { background: var(--glow-700); }
.w-aviso input:checked + .w-switch:after { transform: translateX(14px); }
.w-aviso input:focus-visible + .w-switch { outline: 2px solid var(--glow-500); outline-offset: 2px; }

.w-progresso { display: block; margin-top: 16px; height: 6px; border-radius: 6px; background: #ffffff33; overflow: hidden; position: relative; }
.w-progresso i { position: absolute; inset: 0; background: linear-gradient(90deg, #ffe2bd, #fff); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); transition: transform 0.2s linear; }
.w-eixo { justify-content: space-between; margin-top: 10px; color: #ffffffb3; font-size: 11.5px; display: flex; }

@media (max-width: 1100px) {
  .produto__grade { grid-template-columns: minmax(0, 1fr); }
  .cartao { height: clamp(560px, 92vh, 720px); }
}
@media (max-width: 760px) {
  .cartao { height: 600px; }
  .cartao__texto h3 { white-space: normal; }
}

/* ---------- portfólio ---------- */
.gente { padding: clamp(120px, 18vh, 200px) var(--gutter) clamp(96px, 14vh, 160px); }
.gente__topo { align-items: end; gap: var(--gutter); max-width: var(--largura); grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); margin: 0 auto; display: grid; }
.gente__topo .h2 { white-space: nowrap; }
.gente__topo .lead { justify-self: end; max-width: 38ch; padding-bottom: 0.4em; }
.gente__fila { max-width: var(--largura); grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; gap: clamp(10px, 1.1vw, 16px); margin: clamp(52px, 8vh, 88px) auto 0; display: grid; }
.pessoa:nth-child(2n) { margin-top: clamp(40px, 6vh, 72px); }
.pessoa__foto {
  aspect-ratio: 3/4;
  isolation: isolate;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
  border-radius: 18px;
  width: 100%;
  display: block;
  transform: translateZ(0);
}
.pessoa__foto > img.foto-real { transition: opacity 1.2s var(--ease), transform 1.3s var(--ease); }
.pessoa__fala {
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  backdrop-filter: blur(14px) saturate(1.3);
  color: var(--tinta);
  font-family: var(--serifa);
  font-variation-settings: "opsz" 24;
  letter-spacing: -0.01em;
  opacity: 0;
  transition: opacity 0.45s var(--ease), transform 0.7s var(--ease);
  background: #fffc;
  border-radius: 12px;
  padding: 12px 14px 13px;
  font-size: 16px;
  line-height: 1.3;
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  z-index: 2;
  transform: translateY(18px);
  box-shadow: inset 0 0 0 1px #ffffffb3;
}
@media (hover: hover) {
  :where(html:not(.is-scrolling)) .pessoa__foto:hover > img.foto-real { transform: scale(1.05); }
  :where(html:not(.is-scrolling)) .pessoa__foto:hover .pessoa__fala { opacity: 1; transform: none; }
}
.pessoa__foto:focus-visible { outline-offset: 4px; border-radius: 18px; }
.pessoa__foto:focus-visible .pessoa__fala, .pessoa__foto[aria-expanded="true"] .pessoa__fala { opacity: 1; transform: none; }
.pessoa__foto[aria-expanded="true"] > img.foto-real { transform: scale(1.05); }
.pessoa__nome { gap: 2px; margin-top: 14px; display: grid; }
.pessoa__nome b { letter-spacing: -0.02em; font-variation-settings: "opsz" 36; font-size: clamp(19px, 1.45vw, 23px); font-weight: 400; }
.pessoa__nome span { color: var(--tinta-2); font-size: 13.5px; }
.js .pessoa { opacity: 0; transform: translateY(60px); }
.js .pessoa.is-in { opacity: 1; transition: opacity 0.9s var(--ease), transform 1.3s var(--ease); transition-delay: var(--atraso, 0s); transform: none; }
@supports (animation-timeline: view()) {
  @media (min-width: 961px) {
    .pessoa { animation: linear both solta; animation-timeline: view(); animation-range: cover; }
  }
}
@keyframes solta {
  0% { translate: 0 calc(var(--v) * 1px); }
  to { translate: 0 calc(var(--v) * -1px); }
}

/* mural: o resto da vitrine em colunas */
.mural { max-width: var(--largura); margin: clamp(72px, 11vh, 120px) auto 0; }
.mural__grade { columns: 4 240px; column-gap: clamp(10px, 1.1vw, 16px); }
.mural__grade li { break-inside: avoid; margin-bottom: clamp(10px, 1.1vw, 16px); }
.mural__grade button { display: block; width: 100%; border-radius: 16px; overflow: hidden; background: #e2d3c4; position: relative; }
.mural__grade img { width: 100%; height: auto; transition: transform 1.2s var(--ease), opacity 0.8s var(--ease); opacity: 0; }
.mural__grade img.is-carregada { opacity: 1; }
@media (hover: hover) { :where(html:not(.is-scrolling)) .mural__grade button:hover img { transform: scale(1.04); } }
.mural__grade .ft__play { width: 46px; height: 46px; }

.gente__depo { max-width: var(--largura); text-align: center; margin: clamp(96px, 15vh, 168px) auto 0; }
.gente__depo blockquote { letter-spacing: -0.032em; white-space: nowrap; font-size: clamp(30px, 3.4vw, 56px); line-height: 1.08; }
.gente__depo figcaption { color: var(--tinta-2); margin-top: 22px; font-size: 15px; }
@media (max-width: 960px) {
  .gente__topo { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .gente__topo .lead { justify-self: start; }
  .gente__fila {
    margin: 40px calc(var(--gutter) * -1) 0;
    padding: 0 var(--gutter) 4px;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 var(--gutter);
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    gap: 10px;
    display: flex;
    overflow-x: auto;
  }
  .gente__fila::-webkit-scrollbar { display: none; }
  .pessoa { scroll-snap-align: start; flex: 0 0 min(68vw, 300px); }
  .pessoa:nth-child(2n) { margin-top: 0; }
}
@media (max-width: 760px) {
  .gente { padding: 104px 20px 96px; }
  .gente__topo .h2 { font-size: clamp(30px, 8.6vw, 40px); }
  .gente__depo blockquote { white-space: normal; font-size: clamp(19px, 5.4vw, 30px); }
  .gente__depo blockquote .linha { white-space: nowrap; }
  .mural__grade { columns: 2; }
}

/* ---------- galeria privada ---------- */
.banco { z-index: 2; padding: 0 var(--margem); position: relative; }
.banco__card { border-radius: var(--r-card); isolation: isolate; color: #fff; background: #5a3424; height: clamp(600px, 94vh, 920px); position: relative; overflow: hidden; transform: translateZ(0); }
.banco__foto { z-index: -2; position: absolute; inset: -6% 0; will-change: transform; }
.banco__card:after {
  content: "";
  z-index: -1;
  background: radial-gradient(90% 75% at 0 100%, #1a0c069e, #1a0c0600 62%), linear-gradient(#1a0c0600 58%, #1a0c0657);
  position: absolute;
  inset: 0;
}
.banco__texto { left: var(--gutter); max-width: 640px; position: absolute; bottom: clamp(44px, 8vh, 80px); }
.banco__texto .h2 { white-space: nowrap; }
.banco__texto p { max-width: 40ch; font-size: var(--f-lead); color: #ffffffe0; margin-top: 20px; line-height: 1.55; }
.widget--acesso {
  top: auto;
  left: auto;
  right: calc(var(--margem) + var(--gutter));
  z-index: 3;
  width: min(440px, calc(100% - 2 * var(--gutter)));
  padding: 20px 20px 16px;
  bottom: 0;
  transform: translateY(44%);
}
.js .widget--acesso { opacity: 0; transform: translateY(calc(44% + 40px)); }
.js .widget--acesso.is-in { opacity: 1; transition: opacity 0.9s var(--ease), transform 1.3s var(--ease); transform: translateY(44%); }
.w-hora { margin-left: auto; align-items: center; gap: 5px; color: var(--tinta-3); font-size: 12px; display: flex; }
.w-hora .ico { width: 14px; height: 14px; }
.c-linha { margin-top: 12px; display: grid; gap: 6px; }
.c-rot { font-size: 12px; color: var(--tinta-2); font-weight: 500; }
.c-campo { height: 44px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--fio-forte); align-items: center; padding: 0 14px; font-size: 14.5px; display: flex; }
.c-campo:after { content: ""; width: 1.5px; height: 18px; background: var(--glow-700); margin-left: 2px; opacity: 0; }
.c-campo.is-digitando:after { opacity: 1; animation: pisca 1s steps(2) infinite; }
.c-campo--senha { letter-spacing: 0.12em; }
@keyframes pisca { 50% { opacity: 0; } }
.c-rodape { align-items: center; gap: 10px; margin-top: 16px; display: flex; flex-wrap: wrap; }
.c-rodape .w-chip { margin-left: 0; opacity: 0; transform: scale(0.9); transition: opacity 0.5s var(--ease), transform 0.6s var(--ease); }
.c-rodape .w-chip.is-on { opacity: 1; transform: none; }
.c-mini { margin-left: auto; font-size: 13px; font-weight: 500; color: var(--glow-700); }
@media (max-width: 760px) {
  .banco__card { height: 720px; }
  .banco__texto { right: var(--gutter); bottom: 200px; }
  .banco__texto .h2 { white-space: normal; font-size: clamp(30px, 8.6vw, 40px); }
  .widget--acesso { right: calc(var(--margem) + 14px); width: calc(100% - 2 * var(--margem) - 28px); }
}

/* ---------- segurança ---------- */
.seguranca { padding: clamp(210px, 30vh, 300px) var(--gutter) clamp(120px, 18vh, 200px); text-align: center; position: relative; }
.seguranca .h2 { white-space: nowrap; font-size: clamp(36px, 4.4vw, 74px); }
.seguranca .lead { max-width: 46ch; margin: 26px auto 0; }
@media (max-width: 760px) {
  .seguranca { padding: 200px 20px 104px; }
  .seguranca .h2 { white-space: normal; font-size: clamp(24px, 7.4vw, 38px); }
}

/* ---------- fecho e rodapé ---------- */
.fecho { padding: 0 var(--margem) var(--margem); }
.fecho__card { min-height: max(100svh - 2 * var(--margem), 900px); border-radius: var(--r-card); isolation: isolate; background: #d9a26a; flex-direction: column; display: flex; position: relative; overflow: hidden; transform: translateZ(0); }
.fecho__foto { z-index: -2; position: absolute; inset: 0; }
.fecho__card:after { content: ""; z-index: -1; pointer-events: none; background: radial-gradient(70% 46% at 50% 18%, #fff4de7a, #fff4de00 70%); position: absolute; inset: 0; }
.fecho__cta { z-index: 1; padding: clamp(84px, 13vh, 140px) var(--gutter) 0; text-align: center; position: relative; }
.fecho__cta .h2 { white-space: nowrap; color: #1e150f; }
.fecho__preco { font-size: var(--f-lead); color: #3a2c20; margin: 20px auto 0; line-height: 1.5; max-width: 52ch; }
.fecho__preco b { font-weight: 600; }
.form { width: min(520px, 100%); margin: 30px auto 0; }
.form__campo {
  border-radius: var(--r-pilula);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  backdrop-filter: blur(16px) saturate(1.4);
  transition: box-shadow 0.45s var(--ease), background-color 0.45s var(--ease);
  background: #ffffffbd;
  align-items: center;
  gap: 6px;
  padding: 6px;
  display: flex;
  position: relative;
  box-shadow: inset 0 0 0 1px #fffc, 0 22px 44px -24px #3c1e0a80;
}
.form__campo input { min-width: 0; height: 48px; color: var(--tinta); background: 0 0; border: 0; outline: none; flex: 1; padding: 0 14px 0 20px; font-size: 16px; }
.form__campo input::placeholder { color: #6e5f52; }
.form__campo:focus-within { box-shadow: inset 0 0 0 1.5px var(--glow-700), 0 0 0 5px #d38c4f33, 0 22px 44px -24px #3c1e0a80; background: #ffffffe6; }
@media (hover: hover) { :where(html:not(.is-scrolling)) .form__campo:not(:focus-within):hover { background: #ffffffd6; } }
.form__ok { fill: none; width: 18px; height: 18px; stroke: var(--glow-700); stroke-width: 2.2px; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; opacity: 0; transition: opacity 0.3s var(--ease), transform 0.5s var(--ease); flex: none; margin-right: 4px; transform: scale(0.6); }
.form.is-valido .form__ok { opacity: 1; transform: none; }
.form.is-valido .form__ok path { animation: risca 0.5s var(--ease) both; }
.form__btn { --alt: 48px; flex: none; }
.form__msg { color: #3c2f22; min-height: 24px; margin-top: 12px; font-size: 14px; transition: color 0.3s; }
.form.is-erro .form__campo { box-shadow: inset 0 0 0 1.5px var(--verm-600), 0 0 0 5px #b8443a2e, 0 22px 44px -24px #3c1e0a80; animation: treme 0.42s var(--ease-io); }
.form.is-erro .form__msg { color: #8e2f27; }

.rodape { z-index: 1; padding: clamp(80px, 14vh, 150px) var(--margem) 0; margin-top: auto; position: relative; }
.rodape__vidro {
  border-radius: calc(var(--r-card) - var(--margem)) calc(var(--r-card) - var(--margem)) 0 0;
  color: #fff;
  -webkit-backdrop-filter: blur(26px) saturate(1.35);
  backdrop-filter: blur(26px) saturate(1.35);
  background: linear-gradient(#4a2b1d3d, #3a1f1366);
  padding: clamp(22px, 2.6vw, 34px) clamp(22px, 3vw, 44px) 0;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px #fff6, inset 0 0 0 1px #ffffff2e;
}
.rodape__linha { color: #ffffffd1; align-items: center; gap: 18px; font-size: 13px; display: flex; }
.rodape__linha i { background: #ffffff52; flex: 1; height: 1px; }
.rodape__links { grid-template-columns: repeat(3, max-content) minmax(0, 1fr); gap: 28px clamp(40px, 6vw, 96px); margin-top: clamp(28px, 4vh, 40px); display: grid; }
.rodape__links h3 { color: #ffffffa8; margin-bottom: 10px; font-size: 12.5px; font-weight: 500; }
.rodape__links a { color: #fff; width: fit-content; margin: 2px 0; padding: 3px 0 2px; font-size: 15px; display: block; }
.rodape__legal { text-align: right; color: #ffffffb8; place-self: end; font-size: 12.5px; line-height: 1.5; display: grid; }
.rodape__marca {
  font-size: var(--marca-f, 24vw);
  letter-spacing: -0.055em;
  font-variation-settings: "opsz" 72;
  color: #fffffff0;
  white-space: nowrap;
  user-select: none;
  margin: clamp(34px, 6vh, 64px) 0 -0.3em -0.035em;
  line-height: 0.8;
}
@supports (animation-timeline: view()) {
  .fecho__foto { animation: linear both deriva-fecho; animation-timeline: view(); animation-range: entry exit 0%; }
}
@keyframes deriva-fecho {
  0% { transform: scale(1.12) translateY(-3%); }
  to { transform: none; }
}
@media (max-width: 760px) {
  .fecho__card { min-height: auto; }
  .fecho__cta { padding: 96px 20px 0; }
  .fecho__cta .h2 { font-size: clamp(28px, 8.4vw, 40px); }
  .fecho__preco { font-size: 16px; }
  .form__campo { border-radius: 26px; flex-direction: column; align-items: stretch; padding: 6px; }
  .form__campo input { text-align: center; height: 52px; padding: 0 16px; }
  .form__ok { position: absolute; top: 23px; right: 18px; }
  .form__btn { --alt: 50px; width: 100%; }
  .rodape { padding-top: 120px; }
  .rodape__links { grid-template-columns: 1fr 1fr; gap: 26px 20px; }
  .rodape__legal { text-align: left; grid-column: 1/-1; justify-self: start; }
  .rodape__marca { margin-top: 28px; }
}

/* ---------- visualizador (mural) ---------- */
.visor {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: #120b08f2;
  display: grid;
  place-items: center;
  opacity: 0;
  transition: opacity 0.4s var(--ease);
  padding: 64px 16px 24px;
}
.visor.is-aberto { opacity: 1; }
.visor img, .visor video { max-width: 100%; max-height: calc(100svh - 96px); border-radius: 12px; object-fit: contain; }
.visor__fecha { position: absolute; top: 14px; right: 14px; width: 44px; height: 44px; border-radius: 50%; background: #ffffff1f; color: #fff; display: grid; place-items: center; font-size: 22px; }
.visor__nav { position: absolute; top: 50%; translate: 0 -50%; width: 48px; height: 48px; border-radius: 50%; background: #ffffff1f; color: #fff; display: grid; place-items: center; }
.visor__nav--esq { left: 14px; }
.visor__nav--dir { right: 14px; }

@media (prefers-reduced-motion: reduce) {
  .nav, .nav__in, .menu, .menu__links a { transition: none; }
  .hero__sol, .bokeh, .raio i, .pulso:after { animation: none; }
  .js .pessoa { opacity: 1; transition: none; transform: none; }
  .pessoa, .fecho__foto { animation: none !important; }
  .js .cartao, .js .cartao .cartao__foto { opacity: 1; transform: none; transition: none; }
  .form.is-erro .form__campo { animation: none; }
}
