/* Casa Reviver — sistema visual e de movimento exclusivo da página inicial. */
[data-view="inicio"] {
  --home-ink: #183e3f;
  --home-copy: #526565;
  --home-teal: #087a80;
  --home-aqua: #30c0c8;
  --home-lime: #98c828;
  --home-lime-soft: #eff7da;
  --home-line: rgba(8,122,128,.16);
  --home-glass: rgba(255,255,255,.76);
  --home-ease: cubic-bezier(.16,1,.3,1);
  --home-spring: cubic-bezier(.22,1.35,.36,1);
  color: var(--home-ink);
  font-family: "DM Sans","Segoe UI",Arial,sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

[data-view="inicio"] .ip-section-title,
[data-view="inicio"] h1,
[data-view="inicio"] h2,
[data-view="inicio"] h3,
[data-view="inicio"] strong {
  text-wrap: balance;
}

[data-view="inicio"] .ip-section-title {
  color: var(--home-ink);
  font-family: Manrope,"Segoe UI",Arial,sans-serif;
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.06;
}

[data-view="inicio"] .ip-section__lead {
  max-width: 740px;
  color: var(--home-copy);
  line-height: 1.72;
}

/* Entrada coordenada do topo, sem bloquear a leitura antes do JavaScript. */
.ip-home-motion-ready [data-home-intro] {
  opacity: 0;
  transform: translate3d(0,42px,0);
  transition:
    opacity 1000ms ease var(--home-intro-delay,0ms),
    transform 1200ms cubic-bezier(.22,.61,.36,1) var(--home-intro-delay,0ms);
  will-change: opacity,transform;
}

.ip-home-motion-ready.is-intro-ready [data-home-intro] {
  opacity: 1;
  transform: translate3d(0,0,0);
}

.ip-home-hero {
  isolation: isolate;
  min-height: min(880px,calc(100vh - 92px));
  display: grid;
  align-items: center;
  padding-block: clamp(74px,8vw,118px) clamp(108px,10vw,142px);
  background:
    radial-gradient(circle at 9% 12%,rgba(152,200,40,.19),transparent 27rem),
    radial-gradient(circle at 91% 12%,rgba(48,192,200,.22),transparent 34rem),
    linear-gradient(135deg,#fcfef9 0%,#f0faf7 54%,#e6f8f8 100%);
}

.ip-main > [data-view="inicio"].ip-view {
  animation: none;
}

.ip-home-hero::before {
  position: absolute;
  z-index: -1;
  inset: auto auto 11% 4%;
  width: 160px;
  height: 160px;
  border: 1px dashed rgba(8,122,128,.15);
  border-radius: 50%;
  content: "";
  animation: homeOrbital 24s linear infinite;
}

.ip-home-hero__copy h1 {
  max-width: 760px;
  color: var(--home-ink);
  text-shadow: 0 1px 0 rgba(255,255,255,.6);
}

.ip-home-hero__copy h1 em {
  position: relative;
  width: max-content;
  max-width: 100%;
}

.ip-home-hero__copy h1 em::after {
  position: absolute;
  right: 0;
  bottom: -.08em;
  left: 3%;
  height: .09em;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--home-lime),var(--home-aqua));
  content: "";
  opacity: .72;
  transform: scaleX(.3);
  transform-origin: left;
  transition: transform 1100ms var(--home-ease) 700ms;
}

.ip-home-motion-ready.is-intro-ready .ip-home-hero__copy h1 em::after { transform: scaleX(1); }

.ip-home-hero__image {
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 46% 46% 32px 32px;
  box-shadow: 0 34px 75px rgba(7,87,91,.22),0 0 0 10px rgba(255,255,255,.34),0 0 0 11px rgba(48,192,200,.12);
}

.ip-home-hero__image::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg,rgba(255,255,255,.08),transparent 30% 72%,rgba(152,200,40,.06));
  content: "";
  pointer-events: none;
}

.ip-home-hero__visual::before,
.ip-home-hero__visual::after {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.ip-home-hero__visual::before {
  top: -28px;
  right: -34px;
  width: 116px;
  height: 116px;
  background: rgba(152,200,40,.18);
  box-shadow: inset 0 0 0 1px rgba(152,200,40,.24);
}

.ip-home-hero__visual::after {
  right: -28px;
  bottom: -30px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(48,192,200,.18);
  box-shadow: 0 0 0 24px rgba(48,192,200,.055);
}

.ip-home-hero__seal {
  z-index: 4;
  background: #fff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.ip-home-hero__seal>i { transition: transform 650ms var(--home-spring),background-color 450ms ease; }
.ip-home-hero__seal:hover>i { background: #e6f6bd; transform: rotate(-8deg) scale(1.08); }

/* Botões com reflexo e retorno elástico. */
[data-view="inicio"] [data-home-elastic],
[data-view="inicio"] .ip-home-glass-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transform: translate3d(0,0,0) scale(1);
  transition: transform 720ms var(--home-spring),box-shadow 600ms ease,border-color 450ms ease,background-color 450ms ease;
}

[data-view="inicio"] [data-home-elastic]::before,
[data-view="inicio"] .ip-home-glass-button::before {
  position: absolute;
  z-index: -1;
  top: -130%;
  left: -38%;
  width: 20%;
  height: 360%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  content: "";
  opacity: 0;
  filter: blur(2px);
  pointer-events: none;
  transform: rotate(18deg) translateX(-300%);
}

[data-view="inicio"] [data-home-elastic]:hover,
[data-view="inicio"] [data-home-elastic]:focus-visible {
  transform: translate3d(0,-3px,0) scale(1.025);
  box-shadow: 0 16px 34px rgba(7,87,91,.2);
}

[data-view="inicio"] [data-home-elastic]:hover::before,
[data-view="inicio"] [data-home-elastic]:focus-visible::before {
  animation: homeLightSweep 2200ms cubic-bezier(.22,.61,.36,1) both;
}

@keyframes homeLightSweep {
  0% { opacity:0; transform:rotate(18deg) translateX(-300%); }
  18% { opacity:.3; }
  72% { opacity:.22; }
  100% { opacity:0; transform:rotate(18deg) translateX(800%); }
}

/* Hero estável: sem faixa branca ou light sweep sobre o conteúdo. */
[data-view="inicio"] .ip-home-hero__actions .ip-button[data-home-elastic] {
  background-color: var(--brand-cyan-dark);
  background-image: linear-gradient(135deg,var(--brand-cyan-dark),var(--brand-cyan));
  transition:
    transform 720ms var(--home-spring),
    box-shadow 600ms ease,
    border-color 450ms ease,
    background-color 450ms ease;
}

[data-view="inicio"] .ip-home-hero__actions .ip-button[data-home-elastic]::before {
  display: none;
}

[data-view="inicio"] .ip-home-hero__actions .ip-button[data-home-elastic]:hover,
[data-view="inicio"] .ip-home-hero__actions .ip-button[data-home-elastic]:focus-visible {
  background-color: var(--brand-cyan-deep);
  background-image: linear-gradient(135deg,var(--brand-cyan-deep),var(--brand-cyan-dark));
}

[data-view="inicio"] [data-home-elastic].is-pressed,
[data-view="inicio"] .ip-home-quick__card.is-pressed,
[data-view="inicio"] .ip-home-service-card.is-pressed {
  transform: translate3d(0,1px,0) scale(.975) !important;
  transition-duration: 110ms !important;
}

[data-view="inicio"] .ip-home-glass-button,
[data-view="inicio"] a.ip-home-glass-button {
  overflow: hidden;
  border: 1px solid rgba(8,122,128,.22);
  border-radius: 999px;
  background: linear-gradient(135deg,rgba(255,255,255,.78),rgba(237,250,247,.6));
  background-clip: padding-box;
  color: var(--home-teal);
  box-shadow: inset 0 1px 0 #fff,0 12px 28px rgba(7,87,91,.1);
  /* O backdrop-filter criava uma camada retangular fora da capsula no Chrome. */
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

[data-view="inicio"] .ip-home-glass-button > .ip-global-button__sweep,
[data-view="inicio"] .ip-home-glass-button > .ip-global-button__ripple {
  border-radius: inherit;
}

/* Barra de acessos rápidos com luz que acompanha o ponteiro. */
.ip-home-quick { margin-top: -54px; }
.ip-home-quick__grid {
  overflow: visible;
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 27px;
  background: rgba(255,255,255,.7);
  box-shadow: 0 24px 64px rgba(7,87,91,.13),inset 0 1px 0 #fff;
  backdrop-filter: blur(20px) saturate(1.25);
}

.ip-home-quick__grid .ip-home-quick__card {
  --home-tilt-x: 0deg;
  --home-tilt-y: 0deg;
  isolation: isolate;
  overflow: hidden;
  border-radius: 22px;
  transform: perspective(900px) rotateX(var(--home-tilt-x)) rotateY(var(--home-tilt-y));
  transform-style: preserve-3d;
  transition: transform 650ms var(--home-spring),background-color 450ms ease,box-shadow 550ms ease;
}

.ip-home-quick__card::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background: radial-gradient(circle at var(--home-light-x,50%) var(--home-light-y,50%),rgba(48,192,200,.2),transparent 42%);
  content: "";
  opacity: 0;
  transition: opacity 420ms ease;
}

.ip-home-quick__card::after {
  position: absolute;
  z-index: -1;
  inset: 1px;
  border: 1px solid transparent;
  border-radius: 21px;
  background: linear-gradient(135deg,rgba(255,255,255,.84),rgba(236,250,247,.62)) padding-box,
              linear-gradient(125deg,rgba(48,192,200,.1),rgba(152,200,40,.5),rgba(48,192,200,.38)) border-box;
  content: "";
  opacity: 0;
  transition: opacity 450ms ease;
}

.ip-home-quick__grid .ip-home-quick__card:hover,
.ip-home-quick__grid .ip-home-quick__card:focus-visible {
  z-index: 2;
  background: rgba(255,255,255,.82);
  box-shadow: 0 18px 40px rgba(7,87,91,.13);
  transform: perspective(900px) rotateX(var(--home-tilt-x)) rotateY(var(--home-tilt-y)) translate3d(0,-7px,18px) scale(1.018);
}

.ip-home-quick__card:hover::before,
.ip-home-quick__card:hover::after,
.ip-home-quick__card:focus-visible::before,
.ip-home-quick__card:focus-visible::after { opacity: 1; }

.ip-home-quick__card>span {
  transition: transform 650ms var(--home-spring),border-radius 500ms ease,background-color 450ms ease,color 450ms ease;
}

.ip-home-quick__card:hover>span,
.ip-home-quick__card:focus-visible>span {
  border-radius: 50%;
  background: var(--home-lime);
  color: #174f52;
  transform: translate3d(0,-3px,22px) rotate(-5deg) scale(1.08);
}

.ip-home-quick__card>.ip-icon {
  transition: transform 620ms var(--home-spring),color 400ms ease;
}

.ip-home-quick__card:hover>.ip-icon,
.ip-home-quick__card:focus-visible>.ip-icon { color: var(--home-teal); transform: translate3d(4px,0,20px); }

/* Sistema de revelação por seção. */
.ip-home-motion-ready [data-home-motion] {
  opacity: 0;
  filter: blur(5px);
  transform: translate3d(0,42px,0) scale(.98);
  transition:
    opacity 720ms ease calc(var(--home-order,0) * 90ms),
    filter 820ms ease calc(var(--home-order,0) * 90ms),
    transform 920ms var(--home-ease) calc(var(--home-order,0) * 90ms);
  will-change: opacity,transform,filter;
}

[data-view="inicio"] [data-home-hero-reveal] {
  opacity: 0;
  transform: translate3d(0,72px,0);
  transition:
    opacity 1200ms ease,
    transform 1500ms cubic-bezier(.16,1,.3,1);
  will-change: opacity,transform;
}

[data-view="inicio"] [data-home-hero-reveal="visual"] {
  transform: translate3d(90px,0,0);
}

[data-view="inicio"] [data-home-hero-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
}

.ip-home-motion-ready [data-home-motion="image-left"] { clip-path: inset(0 36% 0 0 round 28px); transform: translate3d(-42px,24px,0) scale(.985); }
.ip-home-motion-ready [data-home-motion="copy-right"] { transform: translate3d(46px,20px,0); }
.ip-home-motion-ready [data-home-motion="map"] { clip-path: inset(0 0 42% 0 round 28px); transform: translate3d(0,46px,0) scale(.975); }
.ip-home-motion-ready [data-home-motion="impact"] { transform: translate3d(0,34px,0) scale(.91) rotate(1deg); }
.ip-home-motion-ready [data-home-motion="cta"] { transform: translate3d(0,28px,0) scale(.975); }

.ip-home-motion-ready [data-home-motion].is-visible {
  opacity: 1;
  filter: blur(0);
  clip-path: inset(0 0 0 0 round 0);
  transform: translate3d(0,0,0) scale(1) rotate(0);
}

/* Imagem das mãos e marco histórico integrados. */
.ip-home-about { position: relative; overflow: hidden; }
.ip-home-about::before {
  position: absolute;
  right: -140px;
  bottom: -180px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(48,192,200,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 45px rgba(48,192,200,.025),0 0 0 90px rgba(152,200,40,.022);
  content: "";
}

.ip-home-about__media { isolation: isolate; }
.ip-home-about__media>img {
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 28px 66px rgba(7,87,91,.16),0 0 0 8px rgba(237,249,246,.84);
  transition: transform 2.4s var(--home-ease),filter 1.2s ease;
}
.ip-home-about__media:hover>img { filter: saturate(1.05); transform: scale(1.025); }
.ip-home-about__media>span { z-index: 2; box-shadow: 0 15px 34px rgba(48,48,48,.16),0 0 0 8px rgba(152,200,40,.12); }
.ip-home-about__media>b {
  display: grid;
  gap: 4px;
  min-width: 205px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 0 18px 18px 0;
  background: linear-gradient(135deg,rgba(24,62,63,.96),rgba(8,122,128,.92));
  box-shadow: 0 18px 35px rgba(7,87,91,.2);
  backdrop-filter: blur(10px);
}
.ip-home-about__media>b>span { color: #dff58c; font: 800 18px/1.1 Manrope,Arial,sans-serif; letter-spacing: -.02em; text-transform: none; }
.ip-home-about__media>b>small { color: rgba(255,255,255,.84); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.ip-home-about__copy { position: relative; }
.ip-home-about__copy li { transition: transform 520ms var(--home-spring),color 350ms ease; }
.ip-home-about__copy li:hover { color: var(--home-teal); transform: translateX(6px); }

/* Cards de atuação: profundidade, luz e conteúdo coordenado. */
.ip-home-services { padding-block: clamp(78px,9vw,124px); }
.ip-home-services__grid>a {
  --home-tilt-x: 0deg;
  --home-tilt-y: 0deg;
  isolation: isolate;
  border-color: var(--home-line);
  background: rgba(255,255,255,.82);
  box-shadow: 0 15px 40px rgba(7,87,91,.075),inset 0 1px 0 #fff;
  backdrop-filter: blur(10px);
  transform-style: preserve-3d;
}

.ip-home-services__grid>a::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at var(--home-light-x,50%) var(--home-light-y,50%),rgba(48,192,200,.2),transparent 38%),
    linear-gradient(145deg,transparent 45%,rgba(152,200,40,.08));
  content: "";
  opacity: 0;
  transition: opacity 450ms ease;
}

.ip-home-services__grid>a::after {
  position: absolute;
  right: -44px;
  bottom: -44px;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(48,192,200,.13);
  border-radius: 50%;
  content: "";
  transition: transform 850ms var(--home-ease),border-color 450ms ease;
}

.ip-home-services__grid>a.is-visible:hover,
.ip-home-services__grid>a.is-visible:focus-visible {
  border-color: rgba(48,192,200,.42);
  background: rgba(255,255,255,.96);
  box-shadow: 0 28px 58px rgba(7,87,91,.14),inset 0 1px 0 #fff;
  transform: perspective(1000px) rotateX(var(--home-tilt-x)) rotateY(var(--home-tilt-y)) translate3d(0,-9px,18px) scale(1.012);
}

.ip-home-services__grid>a:hover::before,
.ip-home-services__grid>a:focus-visible::before { opacity: 1; }
.ip-home-services__grid>a:hover::after,
.ip-home-services__grid>a:focus-visible::after { border-color: rgba(152,200,40,.46); transform: scale(1.22) rotate(14deg); }

.ip-home-services__grid>a>span,
.ip-home-services__grid>a h3,
.ip-home-services__grid>a p,
.ip-home-services__grid>a b { position: relative; z-index: 2; transform: translateZ(12px); }
.ip-home-services__grid>a b {
  position: relative;
  width: max-content;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  overflow: hidden;
  margin-top: auto;
  padding: 10px 15px;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 14px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(232,249,247,.48));
  color: #076d72;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(48,192,200,.08),
    0 8px 24px rgba(7,87,91,.11);
  backdrop-filter: blur(14px) saturate(145%);
  -webkit-backdrop-filter: blur(14px) saturate(145%);
  transition:
    gap 500ms var(--home-spring),
    color 350ms ease,
    background-color 420ms ease,
    border-color 420ms ease,
    box-shadow 500ms ease,
    transform 580ms var(--home-spring);
}
.ip-home-services__grid>a b::before {
  position: absolute;
  top: -70%;
  left: -48%;
  width: 34px;
  height: 240%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);
  content: "";
  pointer-events: none;
  transform: rotate(24deg) translateX(-36px);
  transition: transform 850ms var(--home-ease);
}
.ip-home-services__grid>a.ip-home-service-card--featured b {
  border-color: rgba(255,255,255,.9);
  background: linear-gradient(135deg,rgba(255,255,255,.86),rgba(236,247,208,.56));
  color: #587900;
}
.ip-home-services__grid>a:hover b,
.ip-home-services__grid>a:focus-visible b {
  gap: 12px;
  border-color: rgba(255,255,255,.98);
  background: linear-gradient(135deg,rgba(255,255,255,.98),rgba(219,247,244,.7));
  color: #055e63;
  box-shadow:
    inset 0 1px 0 #fff,
    0 13px 30px rgba(7,87,91,.17),
    0 0 0 1px rgba(48,192,200,.13);
  transform: translateY(-3px) scale(1.025);
}
.ip-home-services__grid>a.ip-home-service-card--featured:hover b,
.ip-home-services__grid>a.ip-home-service-card--featured:focus-visible b {
  background: linear-gradient(135deg,rgba(255,255,255,.98),rgba(230,246,190,.76));
  color: #476500;
}
.ip-home-services__grid>a:hover b::before,
.ip-home-services__grid>a:focus-visible b::before { transform: rotate(24deg) translateX(190px); }
.ip-home-services__grid>a b .ip-icon { transition: transform 520ms var(--home-spring); }
.ip-home-services__grid>a:hover b .ip-icon,
.ip-home-services__grid>a:focus-visible b .ip-icon { transform: translateX(4px); }

/* Mapa e impacto formam uma única narrativa visual. */
.ip-home-residences { position: relative; padding-bottom: clamp(110px,11vw,160px); }
.ip-home-residences::after {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 94px;
  background: linear-gradient(180deg,transparent,rgba(24,62,63,.07));
  clip-path: polygon(0 55%,24% 35%,52% 62%,78% 30%,100% 52%,100% 100%,0 100%);
  content: "";
  pointer-events: none;
}

.ip-home-map-shell { position: relative; isolation: isolate; }
.ip-home-map-shell::before {
  position: absolute;
  z-index: -1;
  inset: 18px -16px -16px 18px;
  border-radius: 28px;
  background: linear-gradient(135deg,rgba(48,192,200,.12),rgba(152,200,40,.09));
  content: "";
}
.ip-home-map { border-color: rgba(8,122,128,.2); box-shadow: 0 28px 68px rgba(7,87,91,.13); }
.ip-home-map-shell__signal {
  position: absolute;
  z-index: 4;
  top: 20px;
  right: 20px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 50%;
  background: rgba(255,255,255,.82);
  color: var(--home-teal);
  box-shadow: 0 12px 28px rgba(7,87,91,.18);
  backdrop-filter: blur(12px);
}
.ip-home-map-shell__signal .ip-icon { width: 22px; height: 22px; }
.ip-home-map-shell.is-visible .residence-marker { animation: homeMarkerArrive 760ms var(--home-spring) both; }
.ip-home-map-shell.is-visible .residence-marker-wrap:nth-child(2n) .residence-marker { animation-delay: 90ms; }
.ip-home-map-shell.is-visible .residence-marker-wrap:nth-child(3n) .residence-marker { animation-delay: 170ms; }
.ip-home-residences__meta { position: relative; z-index: 2; margin-top: 13px; padding: 16px 18px; border: 1px solid rgba(8,122,128,.1); border-radius: 14px; background: rgba(247,252,251,.82); }

.ip-section.ip-home-impact {
  position: relative;
  overflow: hidden;
  padding-block: 105px;
  background: #e8f6f5;
  color: #253130;
  font-family: "DM Sans","Segoe UI",Arial,sans-serif;
}
.ip-home-impact__layout { display:grid; grid-template-columns:.85fr 1.15fr; align-items:end; gap:70px; }
.ip-home-impact__intro { max-width:none; }
[data-view="inicio"] .ip-home-impact .ip-section-title { max-width:none; margin:0 0 22px; color:#123b3b; font-family:Manrope,sans-serif; font-size:clamp(34px,3.5vw,48px); font-weight:700; line-height:1.12; letter-spacing:-.04em; }
[data-view="inicio"] .ip-home-impact .ip-section__lead { max-width:510px; margin:0; color:#5c6a69; font-family:"DM Sans","Segoe UI",Arial,sans-serif; font-size:16px; font-weight:400; line-height:1.65; letter-spacing:0; }
[data-view="inicio"] .ip-home-impact .ip-eyebrow { margin:0 0 20px; color:#5f7e1f; font-family:Montserrat,"Segoe UI",Arial,sans-serif; font-size:17px; font-weight:700; letter-spacing:.1em; line-height:1.65; }
.ip-home-impact::before { display:none; }
.ip-home-impact__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; overflow:visible; margin:0; border:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.ip-home-impact__grid article {
  position: relative;
  overflow: hidden;
  min-height:180px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  flex-direction:column;
  gap:0;
  padding:25px;
  border:0 !important;
  border-bottom:3px solid #a0c840 !important;
  border-radius:0;
  background:rgba(255,255,255,.62);
  box-shadow:none;
  backdrop-filter:none;
  transition:transform 700ms var(--home-ease),background-color 450ms ease,box-shadow 500ms ease;
}
.ip-home-impact__grid article::before {
  position: absolute;
  top:0;
  left:-55%;
  width:45%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.86),transparent);
  content: "";
  transform:skewX(-18deg);
  transition:left 850ms var(--home-ease);
}
.ip-home-impact__grid article:hover { background:rgba(255,255,255,.9); box-shadow:0 16px 34px rgba(38,72,67,.09); transform:translateY(-5px); }
.ip-home-impact__grid article:hover::before { left:125%; }
.ip-home-impact__grid strong { color:#1e6868; font-family:Manrope,sans-serif; font-size:clamp(42px,4.3vw,64px); font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.06em; line-height:1; }
.ip-home-impact__grid small { max-width:150px; margin-top:15px; color:#5c6a69; font-family:"DM Sans","Segoe UI",Arial,sans-serif; font-size:12px; font-weight:700; line-height:1.65; letter-spacing:0; text-transform:uppercase; }
.ip-home-impact__grid article.is-counting strong { color:#087a80; text-shadow:0 8px 24px rgba(48,192,200,.18); }
.ip-home-impact__grid article.is-counted strong { animation:homeCountSettle 560ms var(--home-spring) both; }

/* Carreira com profundidade editorial e ação destacada. */
.ip-home-career { background: radial-gradient(circle at 12% 8%,rgba(48,192,200,.07),transparent 26rem),#fff; }
.ip-home-career__grid {
  isolation: isolate;
  box-shadow: 0 32px 78px rgba(7,87,91,.13);
  transform: translate3d(0,0,0) scale(1);
  transition: transform 1800ms cubic-bezier(.16,1,.3,1),box-shadow 1800ms ease,border-color 1200ms ease;
}
.ip-home-career__media { position: relative; }
.ip-home-career__media img {
  transform: translate3d(0,0,0) scale(1.004);
  transform-origin: 48% 48%;
  transition: transform 5200ms cubic-bezier(.16,1,.3,1),filter 2200ms ease;
  will-change: transform;
}
.ip-home-career__media::after { position: absolute; inset: 0; background: linear-gradient(90deg,transparent 62%,rgba(24,62,63,.18)); content: ""; opacity: .72; pointer-events: none; transition: opacity 1800ms ease; }

@media (hover: hover) and (pointer: fine) {
  .ip-home-career__grid:hover,
  .ip-home-career__grid:focus-within {
    border-color: rgba(48,192,200,.28);
    box-shadow: 0 38px 86px rgba(7,87,91,.155);
    transform: translate3d(0,-3px,0) scale(1.002);
  }

  .ip-home-career__grid:hover .ip-home-career__media img,
  .ip-home-career__grid:focus-within .ip-home-career__media img {
    filter: saturate(1.025) contrast(1.01);
    transform: translate3d(0,0,0) scale(1.021);
  }

  .ip-home-career__grid:hover .ip-home-career__media::after,
  .ip-home-career__grid:focus-within .ip-home-career__media::after { opacity: .58; }
}
.ip-home-career__copy li { transition: transform 620ms var(--home-spring),background-color 420ms ease,border-color 420ms ease,box-shadow 520ms ease; }
.ip-home-career__copy li:hover { border-color: rgba(48,192,200,.34); background: #fff; box-shadow: 0 12px 28px rgba(7,87,91,.09); transform: translateX(8px) scale(1.01); }
.ip-home-career__copy li>span { transition: transform 620ms var(--home-spring),border-radius 450ms ease,background-color 450ms ease; }
.ip-home-career__copy li:hover>span { border-radius: 50%; background: var(--home-lime-soft); transform: rotate(-6deg) scale(1.08); }

/* Noticias com leitura editorial, entrada pelo scroll e profundidade progressiva. */
.ip-home-news {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 5% 0,rgba(152,200,40,.1),transparent 22rem),
    radial-gradient(circle at 94% 18%,rgba(48,192,200,.12),transparent 27rem),
    linear-gradient(180deg,#fff 0%,#fbfefd 100%);
}

.ip-home-news::before {
  position: absolute;
  top: 84px;
  right: -104px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(48,192,200,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(48,192,200,.025),0 0 0 84px rgba(152,200,40,.018);
  content: "";
  pointer-events: none;
}

.ip-home-news__head {
  position: relative;
  z-index: 2;
  align-items: center;
  margin-bottom: clamp(34px,4vw,48px);
}

.ip-home-news__head > div { max-width: 720px; }
.ip-home-news__head .ip-section-title { margin-bottom: 14px; }
.ip-home-news__lead { max-width: 610px; margin: 0; color: var(--home-copy); line-height: 1.65; }

.ip-home-news__all {
  position: relative;
  isolation: isolate;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  overflow: hidden;
  padding: 0 20px;
  border: 1px solid rgba(8,122,128,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: var(--home-teal);
  box-shadow: 0 12px 30px rgba(7,87,91,.08),inset 0 1px 0 #fff;
  font-weight: 780;
  transition: color 420ms ease,border-color 420ms ease,background-color 420ms ease,box-shadow 620ms ease,transform 720ms var(--home-spring);
}

.ip-home-news__all .ip-icon { width: 17px; height: 17px; transition: transform 650ms var(--home-spring); }
.ip-home-news__all:hover,
.ip-home-news__all:focus-visible { border-color: rgba(8,122,128,.48); background: #fff; box-shadow: 0 18px 38px rgba(7,87,91,.14); transform: translateY(-4px); }
.ip-home-news__all:hover .ip-icon,
.ip-home-news__all:focus-visible .ip-icon { transform: translateX(5px); }

.ip-home-news__grid {
  position: relative;
  z-index: 1;
  grid-template-columns: 1.08fr .96fr .96fr;
  gap: clamp(18px,2vw,26px);
}

.ip-home-news__grid .ip-home-news__card {
  opacity: 0;
  transform: translate3d(0,52px,0) scale(.965);
  transition: opacity 820ms ease,transform 1200ms var(--home-ease),box-shadow 760ms var(--home-ease),border-color 520ms ease,background-color 520ms ease;
}

.ip-home-news__grid .ip-home-news__card.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
}

.ip-home-news__card {
  position: relative;
  isolation: isolate;
  min-width: 0;
  border-color: rgba(8,122,128,.16);
  border-radius: 26px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 44px rgba(7,87,91,.085);
}

.ip-home-news__card::before {
  position: absolute;
  z-index: 3;
  inset: 0;
  border: 1px solid transparent;
  border-radius: inherit;
  background: linear-gradient(125deg,rgba(255,255,255,.7),transparent 28%,transparent 72%,rgba(48,192,200,.16)) border-box;
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity 650ms ease;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.ip-home-news__image { position: relative; height: 232px; }
.ip-home-news__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,transparent 52%,rgba(4,54,56,.32));
  content: "";
  opacity: .34;
  pointer-events: none;
  transition: opacity 700ms ease;
}

.ip-home-news__image img {
  transform: scale(1.015);
  filter: saturate(.94) contrast(1.01);
  transition: transform 2000ms cubic-bezier(.16,1,.3,1),filter 900ms ease;
}

.ip-home-news__number {
  position: absolute;
  z-index: 2;
  top: 18px;
  right: 18px;
  min-width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  background: rgba(4,68,70,.68);
  color: #fff;
  font: 800 11px/1 Manrope,Arial,sans-serif;
  box-shadow: 0 10px 24px rgba(4,49,50,.2);
  backdrop-filter: blur(8px);
  transition: transform 850ms var(--home-spring),background-color 520ms ease,box-shadow 650ms ease;
}

.ip-home-news__image-shade {
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 -48%;
  width: 34%;
  background: linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  opacity: 0;
  pointer-events: none;
  transform: skewX(-14deg);
}

.ip-home-news__content { min-height: 240px; gap: 14px; padding: 27px 27px 25px; }
.ip-home-news__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ip-home-news__meta small { display: inline-flex; align-items: center; gap: 7px; color: #5e7d00; }
.ip-home-news__meta small::before { width: 16px; height: 2px; flex: 0 0 auto; background: var(--home-lime); content: ""; transition: width 620ms var(--home-ease); }
.ip-home-news__meta time { color: #788383; font-size: 9px; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.ip-home-news__content strong { color: var(--home-ink); font-size: clamp(18px,1.45vw,21px); transition: color 420ms ease; }
.ip-home-news__content p { font-size: 11px; line-height: 1.68; }
.ip-home-news__action { width: max-content; padding-bottom: 4px; border-bottom: 1px solid rgba(8,122,128,.18); transition: color 420ms ease,border-color 420ms ease,transform 650ms var(--home-spring); }

@keyframes homeNewsLightPass {
  0% { left: -48%; opacity: 0; }
  22% { opacity: .75; }
  100% { left: 120%; opacity: 0; }
}

.ip-home-news__card:hover,
.ip-home-news__card:focus-visible { border-color: rgba(48,192,200,.46) !important; box-shadow: 0 32px 68px rgba(7,87,91,.16),0 0 0 5px rgba(48,192,200,.045) !important; }
.ip-home-news__card[data-ip-card-motion="stable"]:hover,
.ip-home-news__card[data-ip-card-motion="stable"]:focus-visible {
  transform: translate3d(0,0,0) scale(1) !important;
}
.ip-home-news__card:hover::before,
.ip-home-news__card:focus-visible::before { opacity: 1; }
.ip-home-news__card:hover .ip-home-news__image img,
.ip-home-news__card:focus-visible .ip-home-news__image img { filter: saturate(1.08) contrast(1.035); transform: scale(1.075); }
.ip-home-news__card:hover .ip-home-news__image::after,
.ip-home-news__card:focus-visible .ip-home-news__image::after { opacity: .12; }
.ip-home-news__card:hover .ip-home-news__number,
.ip-home-news__card:focus-visible .ip-home-news__number { background: var(--home-teal); box-shadow: 0 14px 30px rgba(4,49,50,.28); transform: rotate(8deg) scale(1.08); }
.ip-home-news__card:hover .ip-home-news__image-shade,
.ip-home-news__card:focus-visible .ip-home-news__image-shade { animation: homeNewsLightPass 1350ms cubic-bezier(.16,1,.3,1) both; }
.ip-home-news__card:hover .ip-home-news__meta small::before,
.ip-home-news__card:focus-visible .ip-home-news__meta small::before { width: 26px; }
.ip-home-news__card:hover .ip-home-news__content strong,
.ip-home-news__card:focus-visible .ip-home-news__content strong { color: var(--home-teal); }
.ip-home-news__card:hover .ip-home-news__action,
.ip-home-news__card:focus-visible .ip-home-news__action { border-color: rgba(8,122,128,.52); transform: translateX(4px); }

.ip-home-cta { position: relative; overflow: hidden; }
.ip-home-cta::after { position: absolute; top: -180px; right: -80px; width: 390px; height: 390px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.018); content: ""; }
.ip-home-cta .ip-container { position: relative; z-index: 2; }

@keyframes homeOrbital { to { transform: rotate(360deg); } }
@keyframes homeMarkerArrive {
  0% { opacity: 0; transform: translateY(-18px) scale(.68); }
  62% { opacity: 1; transform: translateY(3px) scale(1.08); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes homeCountSettle {
  0% { transform:scale(.96); }
  58% { transform:scale(1.045); }
  100% { transform:scale(1); }
}

@media (max-width: 1020px) {
  .ip-home-hero { min-height: 0; }
  .ip-home-hero__grid { gap: 72px; }
  .ip-home-hero__visual { justify-self: center; width: min(680px,100%); }
  .ip-home-hero__seal { left: 18px; }
  .ip-home-quick { margin-top: -38px; }
  .ip-home-quick__grid .ip-home-quick__card { border-radius: 0; }
  .ip-home-quick__grid .ip-home-quick__card:first-child { border-radius: 22px 22px 0 0; }
  .ip-home-quick__grid .ip-home-quick__card:last-child { border-radius: 0 0 22px 22px; }
  .ip-home-impact__layout { grid-template-columns:1fr; gap:44px; }
  .ip-home-impact__intro { max-width:720px; }
  .ip-home-impact__grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 760px) {
  .ip-home-hero { padding-top: 54px; padding-bottom: 104px; }
  .ip-home-hero__grid { gap: 54px; }
  .ip-home-hero__copy h1 { font-size: clamp(43px,13vw,62px); }
  .ip-home-hero__copy>p:not(.ip-eyebrow) { font-size: 16px; }
  .ip-home-hero__actions { align-items: stretch; flex-direction: column; }
  .ip-home-hero__actions .ip-button { justify-content: center; width: 100%; }
  .ip-home-hero__link { align-self: center; }
  .ip-home-hero__image { height: min(112vw,510px); border-radius: 100px 100px 25px 25px; }
  .ip-home-hero__seal { left: 10px; bottom: 16px; }
  .ip-home-quick { margin-top: -48px; }
  .ip-home-quick__grid { border-radius: 22px; }
  .ip-home-about__grid { gap: 64px; }
  .ip-home-about__media>span { width: 94px; height: 94px; border-width: 6px; }
  .ip-home-about__media>span strong { font-size: 24px; }
  .ip-home-about__media>b { left: 0; bottom: 18px; min-width: 190px; }
  .ip-home-services__grid>a { min-height: 350px; }
  .ip-home-map-shell::before { inset: 10px -7px -9px 9px; }
  .ip-home-map-shell__signal { top: 13px; right: 13px; }
  .ip-home-residences__meta { align-items: flex-start; flex-direction: column; }
  .ip-home-impact__grid { grid-template-columns: 1fr; }
  .ip-home-impact__grid article { min-height: 160px; }
  .ip-home-career__grid { border-radius: 24px; }
  .ip-home-career__media { min-height: 390px; }
  .ip-home-news__grid .ip-home-news__card { transition-delay: 0ms; }
  .ip-home-news__head { align-items: flex-start; flex-direction: column; }
  .ip-home-news__grid { grid-template-columns: 1fr; }
  .ip-home-news__image { height: clamp(220px,56vw,320px); }
  .ip-home-news__content { min-height: 0; }
}

@media (max-width: 480px) {
  .ip-home-hero__trust { align-items: flex-start; }
  .ip-home-hero__seal { right: 10px; width: calc(100% - 20px); justify-content: center; }
  .ip-home-quick__grid a { padding: 22px 20px; }
  .ip-home-about__media>span { top: 20px; right: 9px; }
  .ip-home-about__media>b { right: 14px; left: 14px; border-radius: 14px; text-align: center; }
  .ip-home-services__grid>a { padding: 26px; }
  .ip-home-map { height: 420px; }
  .ip-home-residences__head .ip-button { justify-content: center; width: 100%; }
  .ip-home-career__copy .ip-button { justify-content: center; width: 100%; }
}

/* Movimento reduzido: conteúdo completo, sem máscaras, contadores instantâneos e feedback por cor. */
@media (prefers-reduced-motion: reduce) {
  .ip-app [data-view="inicio"] *:not([data-home-force-motion]),
  .ip-app [data-view="inicio"] *:not([data-home-force-motion])::before,
  .ip-app [data-view="inicio"] *:not([data-home-force-motion])::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
  }
  .ip-app [data-view="inicio"] [data-home-intro],
  .ip-app [data-view="inicio"] [data-home-motion]:not([data-home-force-motion]),
  .ip-app [data-view="inicio"] .ip-home-news__card {
    opacity: 1 !important;
    filter: none !important;
    clip-path: none !important;
    transform: none !important;
  }
  .ip-app [data-view="inicio"] .ip-home-hero__seal:not([data-home-hero-reveal]):not([data-home-force-motion]) { transform: none !important; }
  .ip-app [data-view="inicio"] [data-home-tilt]:hover,
  .ip-app [data-view="inicio"] [data-home-elastic]:hover { transform: none !important; }
}

/* Sobre a Casa Reviver: composição fiel ao bloco editorial de referência. */
.ip-home-about {
  padding-block: clamp(72px,8vw,112px);
  background: #fff;
}

.ip-home-about::before { display: none; }

.ip-home-about__grid {
  grid-template-columns: minmax(0,.98fr) minmax(0,1.02fr);
  gap: clamp(72px,8vw,118px);
}

.ip-home-about__media {
  min-height: 540px;
  isolation: isolate;
  overflow: visible;
}

.ip-home-about__media::before {
  position: absolute;
  z-index: -1;
  inset: -22px 38px 42px -22px;
  border: 2px solid #deedc8;
  border-radius: 30px;
  content: "";
}

.ip-home-about__media>img {
  width: 100%;
  height: 540px;
  border: 0;
  border-radius: 28px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 24px 48px rgba(32,68,61,.12);
}

.ip-home-about__media:hover>img {
  filter: saturate(1.025);
  transform: scale(1.012);
}

.ip-home-about__media>.ip-home-about__badge {
  position: absolute;
  z-index: 3;
  right: 18px;
  top: auto;
  bottom: 34px;
  width: 128px;
  height: 128px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0;
  padding: 13px;
  border: 6px solid #fff;
  border-radius: 50%;
  background: #287f84;
  color: #fff;
  box-shadow: 0 12px 28px rgba(18,73,75,.2);
  text-align: center;
  transform: rotate(2deg);
}

.ip-home-about__badge small,
.ip-home-about__badge strong,
.ip-home-about__badge em {
  display: block;
  color: inherit;
  font-family: Manrope,Arial,sans-serif;
  font-style: normal;
  text-transform: none;
}

.ip-home-about__badge small {
  margin-bottom: 1px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ip-home-about__badge strong {
  font-size: 31px;
  font-weight: 850;
  line-height: .95;
  letter-spacing: -.055em;
}

.ip-home-about__badge em {
  margin-top: 4px;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ip-home-about__copy { max-width: 590px; }
.ip-home-about__copy .ip-eyebrow { margin-bottom: 25px; }
.ip-home-about__copy .ip-section-title {
  max-width: 570px;
  margin-bottom: 25px;
  font-size: clamp(42px,4.2vw,60px);
  line-height: .98;
  letter-spacing: -.055em;
}

.ip-home-about__copy>p:not(.ip-eyebrow) {
  margin: 0 0 18px;
  color: #65706f;
  font-size: 17px;
  line-height: 1.58;
}

.ip-home-about__copy>p.ip-home-about__lead {
  color: #566361;
  font-weight: 750;
}

.ip-home-about__copy ul {
  gap: 13px;
  margin: 27px 0 32px;
}

.ip-home-about__copy li {
  gap: 12px;
  color: #164f52;
  font-size: 14px;
  font-weight: 780;
}

.ip-home-about__copy li .ip-icon {
  width: 24px;
  height: 24px;
  padding: 5px;
  flex: 0 0 24px;
  background: #e8f7f6;
}

.ip-home-about__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #087a80;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: color 280ms ease,gap 480ms var(--home-ease);
}

.ip-home-about__link .ip-icon { width: 16px; height: 16px; }
.ip-home-about__link:hover,
.ip-home-about__link:focus-visible { gap: 16px; color: #176166; }

@media (max-width: 1020px) {
  .ip-home-about__grid { grid-template-columns: 1fr; gap: 72px; }
  .ip-home-about__media { width: min(600px,100%); }
  .ip-home-about__media>.ip-home-about__badge { right: 16px; bottom: 28px; }
  .ip-home-about__copy { max-width: 690px; }
}

@media (max-width: 640px) {
  .ip-home-about { padding-block: 70px; }
  .ip-home-about__grid { gap: 62px; }
  .ip-home-about__media,
  .ip-home-about__media>img { height: 440px; min-height: 440px; }
  .ip-home-about__media { width: 100%; margin-left: 0; }
  .ip-home-about__media::before { inset: -14px 22px 24px -14px; border-radius: 24px; }
  .ip-home-about__media>img { border-radius: 23px; }
  .ip-home-about__media>.ip-home-about__badge {
    right: 14px;
    bottom: 18px;
    width: 104px;
    height: 104px;
    padding: 10px;
    border-width: 5px;
  }
  .ip-home-about__badge small { font-size: 9px; }
  .ip-home-about__badge strong { font-size: 25px; }
  .ip-home-about__badge em { font-size: 7px; }
  .ip-home-about__copy .ip-section-title { font-size: clamp(38px,12vw,51px); }
}

/* Entrada coordenada do bloco de impacto: texto primeiro, indicadores em sequência. */
.ip-home-motion-ready .ip-home-impact__intro {
  opacity: 0;
  filter: blur(3px);
  clip-path: none;
  transform: translate3d(0,44px,0) scale(.985);
}

.ip-home-motion-ready .ip-home-impact__grid article {
  transform-origin: 50% 100%;
}

.ip-home-motion-ready [data-home-motion][data-home-force-motion] {
  transition: none;
  will-change: opacity,filter,transform;
}

.ip-home-motion-ready .ip-home-service-card[data-home-force-motion].is-visible {
  animation: none !important;
}

[data-home-elastic-text] .ip-elastic-word {
  display: inline-block;
  white-space: nowrap;
}

[data-home-elastic-text] .ip-elastic-character {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0,.72em,0) scale(.72);
  transform-origin: 50% 85%;
  will-change: opacity,transform;
}

/*
 * O Windows deste ambiente está com as animações desativadas
 * (prefers-reduced-motion: reduce). A folha global reduz todas as transições
 * para .01ms. Estes elementos são exceções deliberadas porque o movimento
 * de entrada foi solicitado para a página inicial.
 */
@media (prefers-reduced-motion: reduce) {
  .ip-app [data-view="inicio"] [data-home-hero-reveal] {
    transition-property: opacity,transform !important;
    transition-duration: 1200ms,1500ms !important;
    transition-timing-function: ease,cubic-bezier(.16,1,.3,1) !important;
    transition-delay: 0ms,0ms !important;
  }

  .ip-app [data-view="inicio"].ip-home-motion-ready [data-home-intro] {
    transition-property: opacity,transform !important;
    transition-duration: 1000ms,1200ms !important;
    transition-timing-function: ease,cubic-bezier(.22,.61,.36,1) !important;
    transition-delay: var(--home-intro-delay,0ms),var(--home-intro-delay,0ms) !important;
  }

  .ip-app [data-view="inicio"] .ip-home-hero__seal {
    animation: homeHeroSealFloat 5.4s ease-in-out 1.8s infinite !important;
  }
}

.ip-home-hero__seal {
  animation: homeHeroSealFloat 5.4s ease-in-out 1.8s infinite;
  will-change: transform,box-shadow;
}

@keyframes homeHeroSealFloat {
  0%,100% {
    transform: translate3d(0,0,0);
    box-shadow: 0 16px 38px rgba(12,45,39,.18);
  }
  50% {
    transform: translate3d(0,-11px,0);
    box-shadow: 0 25px 48px rgba(12,45,39,.23);
  }
}

/* Hero: profundidade contínua, sem salto de escala ao entrar com o cursor. */
.ip-app [data-view="inicio"] .ip-home-hero__image img {
  transform-origin: 50% 46%;
  animation: ipHomeHeroSlowDepth 24s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
  transition: filter 2400ms ease !important;
  will-change: transform;
}

.ip-app [data-view="inicio"] .ip-home-hero__visual:hover .ip-home-hero__image img {
  filter: saturate(1.025) contrast(1.01);
  transform: none;
}

@keyframes ipHomeHeroSlowDepth {
  0% { transform: scale(1.003) translate3d(0,0,0); }
  48% { transform: scale(1.014) translate3d(-.12%, -.08%, 0); }
  100% { transform: scale(1.024) translate3d(-.22%, -.16%, 0); }
}

/* O movimento foi solicitado explicitamente e permanece ainda mais lento
   quando o sistema operacional sinaliza redução de movimento. */
@media (prefers-reduced-motion: reduce) {
  .ip-app [data-view="inicio"] .ip-home-hero__image img {
    animation: ipHomeHeroSlowDepth 32s linear infinite alternate !important;
    transition: filter 2400ms ease !important;
  }
}
