.hero{
    position:relative;
    overflow:hidden;
    padding:90px 0 0;
    background:radial-gradient(circle at 72% 32%,rgba(137,103,219,.16),transparent 32%),linear-gradient(180deg,#fff,#faf8fe)
}
.hero-orbit{
    position:absolute;
    border:1px solid rgba(89,50,193,.09);
    border-radius:50%;
    pointer-events:none
}
.orbit-a{
    width:650px;
    height:650px;
    right:-260px;
    top:10px
}
.orbit-b{
    width:280px;
    height:280px;
    left:-140px;
    bottom:120px
}
.hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    align-items:center;
    gap:70px
}
.hero h1{
    font-size:clamp(30px,3.5vw,52px)
}
.hero-copy>p{
    max-width:610px;
    margin:24px 0 0;
    color:var(--muted);
    font-size:17px;
    line-height:1.7
}
.micro-proof{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:27px;
    color:#716a80;
    font-size:11px;
    font-weight:800
}
.visual-glow{
    position:absolute;
    inset:15% 5% 3%;
    border-radius:50%;
    background:rgba(137,103,219,.24);
    filter:blur(70px)
}
.app-window{
    position:absolute;
    inset:35px 55px 0 0;
    padding:16px;
    border:1px solid rgba(89,50,193,.16);
    border-radius:28px;
    background:rgba(255,255,255,.82);
    box-shadow:0 38px 100px rgba(63,35,123,.17);
    backdrop-filter:blur(16px)
}
.app-window-top{
    height:30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#787084;
    font-size:9px
}
.app-window-top span{
    display:flex;
    align-items:center;
    gap:7px
}
.app-window-top span i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--green)
}
.window-actions{
    display:flex;
    gap:5px
}
.window-actions i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#d4cce2
}
.journey-tabs{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:5px;
    padding:9px;
    border:1px solid #eee9f6;
    border-radius:13px;
    background:#faf9fd;
    color:#8a8293;
    font-size:8px
}
.journey-tabs span{
    padding:7px 4px;
    text-align:center
}
.journey-tabs .active{
    border:1px solid #cfc0ed;
    border-radius:9px;
    color:var(--purple);
    background:#fff;
    font-weight:900
}
.signature-panel{
    margin-top:14px;
    padding:26px;
    border:1px solid #eee9f5;
    border-radius:17px;
    background:#fff
}
.signature-panel small{
    font-size:10px;
    font-weight:900
}
.signature{
    height:155px;
    display:grid;
    place-items:center;
    border-bottom:1px solid #eee7f4;
    font-family:cursive;
    font-size:45px
}
.signature-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:13px
}
.signature-meta div{
    display:grid
}
.signature-meta b{
    font-size:10px
}
.signature-meta span{
    color:#9991a1;
    font-size:8px
}
.signature-meta em{
    font-style:normal;
    color:#16843d;
    background:#e9f9ee;
    padding:7px 9px;
    border-radius:999px;
    font-size:8px;
    font-weight:900
}
.document-meta{
    display:flex;
    justify-content:space-between;
    padding:16px 7px 0;
    color:#766e81;
    font-size:9px
}
.document-meta b{
    color:var(--ink)
}
.phone-mockup{
    position:absolute;
    right:0;
    bottom:20px;
    width:175px;
    height:360px;
    padding:25px 17px;
    border:8px solid #15131d;
    border-radius:36px;
    background:#fff;
    box-shadow:0 28px 60px rgba(31,17,63,.24);
    transform:rotate(4deg)
}
.phone-top{
    position:absolute;
    top:8px;
    left:50%;
    width:70px;
    height:17px;
    transform:translateX(-50%);
    border-radius:99px;
    background:#15131d
}
.phone-mockup>img{
    width:30px;
    margin:12px 0 22px
}
.phone-mockup small{
    display:block;

    color:#8f8798;
    font-size:7px;
}
.phone-mockup strong{
    display:block;

    font-size:9px;
}
.mobile-signature{
    margin:42px 0 20px;
    border-bottom:1px solid #eee;
    font-family:cursive;
    font-size:22px
}
.signed-pill{
    display:inline-block;
    color:#16843d;
    background:#e9f9ee;
    padding:5px 8px;
    border-radius:99px;
    font-size:7px
}
.phone-mockup button{
    position:absolute;
    left:15px;
    right:15px;
    bottom:20px;
    height:36px;
    border:0;
    border-radius:10px;
    color:#fff;
    background:var(--purple);
    font:800 9px Nunito
}
.security-float>span{
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#fff;
    background:linear-gradient(135deg,var(--purple),var(--pink))
}
.security-float small{
    display:block;

    color:#8d8497;
    font-size:7px;
}
.security-float strong{
    display:block;

    font-size:10px;
}
@media(max-width:1080px){
    .hero-grid{
        grid-template-columns:1fr
    }
    .hero-copy{
        padding-top:10px
    }
    .hero-visual{
        max-width:780px;
        width:100%;
        margin:auto
    }
}
@media(max-width:700px){
    .hero{
        padding-top:60px
    }
    .hero-actions,.micro-proof{
        flex-direction:column
    }
    .hero-visual{
        min-height:440px
    }
    .app-window{
        inset:20px 0 0
    }
    .phone-mockup{
        display:none
    }
    .signature{
        font-size:34px
    }
}
@media(max-width:560px){
    .hero h1{
        font-size:clamp(25px,7vw,29px)
    }
}




  .hero-actions{
    display:flex;
    gap:12px;
    margin-top:32px;

    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 38px;
}













/* =========================================================
   HERO DEMO - CONSOLIDADO
   ========================================================= */

.hero-visual{
    position:relative;
    min-height:535px;

  position: relative;

  min-height: 590px;

  transform: translateX(18px);
}


/* glow atrás da demo */
.hero-visual .visual-glow{
  position: absolute;

  inset: 2% -10% -8% -2%;

  border-radius: 48%;

  background:
    radial-gradient(
      circle at 52% 45%,
      rgba(123, 73, 227, 0.22) 0%,
      rgba(123, 73, 227, 0.10) 38%,
      transparent 72%
    );

  filter: blur(34px);

  pointer-events: none;

  z-index: 1;
}


/* =========================================================
   DESKTOP GIF
   ========================================================= */

.app-window--demo{
  position: absolute;

  top: 16px;
  left: 0;
  right: 32px;
  bottom: 4px;

  padding: 0;

  overflow: hidden;

  border: 1px solid rgba(98, 55, 185, 0.14);
  border-radius: 24px;

  background: #fff;

  box-shadow:
    0 32px 70px rgba(53, 29, 107, 0.18),
    0 10px 28px rgba(53, 29, 107, 0.10);

  z-index: 2;
}

.app-demo-gif{
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: top center;

  background: #fff;
}


/* =========================================================
   MOBILE GIF
   ========================================================= */

.phone-mockup--demo{
  position: absolute;

  right: -4px;
  bottom: 18px;

  width: 184px;
  height: 386px;

  padding: 2px;

  overflow: hidden;

  border: 3px solid #17141d;
  border-radius: 31px;

  background: #17141d;

  box-shadow:
    0 28px 56px rgba(38, 20, 79, 0.22),
    0 8px 20px rgba(38, 20, 79, 0.12);

  transform:
    rotate(4deg);

  transform-origin:
    center;

  z-index: 8;
}

.phone-screen{
  position: relative;

  width: 100%;
  height: 100%;

  overflow: hidden;

  border-radius: 27px;

  background: #fff;
}

.phone-demo-gif{
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: top center;

  transform:
    scale(1.01);

  background: #fff;
}


/* =========================================================
   ICP - SEMPRE ACIMA
   ========================================================= */

.security-float{
    position:absolute;
    top:8px;
    right:12px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:11px 13px;
    border:1px solid #e0d7ee;
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow);


    position:absolute;

    top:0px;
    right:5px;

    display:flex;
    align-items:center;

    gap:12px;

    padding:12px 18px 12px 12px;

    background:
      rgba(255,255,255,.82);

    backdrop-filter:blur(15px);

    border-radius:22px;

    border:
      1px solid rgba(137,103,219,.20);


    box-shadow:
      0 15px 40px rgba(89,50,193,.12);

  position: absolute;

  top: -24px;
  right: 8px;

  min-width: 245px;

  display: flex;
  align-items: center;

  gap: 12px;

  padding: 12px 16px;

  border: 1px solid rgba(89, 50, 193, 0.14);
  border-radius: 20px;

  background:
    rgba(255, 255, 255, 0.97);

  box-shadow:
    0 18px 45px rgba(52, 27, 105, 0.16);

  backdrop-filter:
    blur(12px);

  z-index: 30;
}

.security-icon{

    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:14px;

    background:
      linear-gradient(
        135deg,
        #5932c1,
        #8967db
      );

  width: 52px;
  height: 52px;

  flex: 0 0 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 7px;

  border-radius: 13px;

  background:
    linear-gradient(
      145deg,
      #5932c1,
      #884de2
    );
}

.security-icon img{

    width:28px;
    height:28px;

    filter:
      brightness(0)
      invert(1);

  width: 100%;
  height: 100%;

  object-fit: contain;
}

.security-text{

    display:flex;
    flex-direction:column;

  display: flex;
  flex-direction: column;

  gap: 1px;
}

.security-text small{

    color:#91889f;

    font-size:10px;

    font-weight:700;

  color: #8f879b;

  font-size: 11px;
  font-weight: 700;
}

.security-text strong{

    color:#17132f;

    font-family:"Space Grotesk";

    font-size:16px;

  color: #171322;

  font-size: 17px;
  font-weight: 800;
}


/* =========================================================
   ANIMAÇÃO DE ENTRADA
   ========================================================= */

.hero-visual .app-window--demo{
  animation:
    demoDesktopIn
    .8s
    cubic-bezier(.22,.8,.2,1)
    both;
}

.hero-visual .phone-mockup--demo{
  animation:
    demoPhoneIn
    .95s
    cubic-bezier(.22,.8,.2,1)
    .12s
    both;
}

.hero-visual .security-float{
  animation:
    demoBadgeIn
    .7s
    ease-out
    .26s
    both;
}


@keyframes demoDesktopIn {
  from {
    opacity: 0;

    transform:
      translateY(18px)
      scale(.975);
  }

  to {
    opacity: 1;

    transform:
      translateY(0)
      scale(1);
  }
}


@keyframes demoPhoneIn {
  from {
    opacity: 0;

    transform:
      translate(22px, 18px)
      rotate(8deg)
      scale(.90);
  }

  to {
    opacity: 1;

    transform:
      translate(0, 0)
      rotate(4deg)
      scale(1);
  }
}


@keyframes demoBadgeIn {
  from {
    opacity: 0;

    transform:
      translateY(-10px)
      scale(.96);
  }

  to {
    opacity: 1;

    transform:
      translateY(0)
      scale(1);
  }
}


/* =========================================================
   NOTEBOOK
   ========================================================= */

@media (max-width: 1200px) {

  .hero-visual {
    min-height: 520px;

    transform:
      translateX(8px);
  }

  .app-window--demo {
    top: 14px;
    right: 26px;
  }

  .phone-mockup--demo {
    width: 165px;
    height: 338px;

    right: 0;
    bottom: 18px;

    border-width: 3px;
  }

  .security-float {
    top: -18px;
    right: 4px;

    min-width: 220px;

    padding: 10px 14px;
  }

  .security-icon {
    width: 46px;
    height: 46px;

    flex-basis: 46px;
  }

  .security-text strong {
    font-size: 15px;
  }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

  .hero-visual {
    min-height: 460px;

    transform: none;
  }

  .app-window--demo {
    top: 12px;
    right: 24px;
  }

  .phone-mockup--demo {
    width: 145px;
    height: 300px;

    right: 0;
    bottom: 14px;
  }

  .security-float {
    top: -14px;

    min-width: 190px;

    padding: 8px 11px;
  }

  .security-icon {
    width: 40px;
    height: 40px;

    flex-basis: 40px;
  }

  .security-text small {
    font-size: 9px;
  }

  .security-text strong {
    font-size: 13px;
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

  .hero-visual {
    min-height: 390px;

    margin-top: 18px;

    transform: none;
  }

  .app-window--demo {
    top: 10px;
    left: 0;
    right: 24px;
    bottom: 6px;

    border-radius: 18px;
  }

  .phone-mockup--demo {
    width: 122px;
    height: 250px;

    right: -2px;
    bottom: 10px;

    padding: 1px;

    border-width: 2px;
    border-radius: 27px;

    transform:
      rotate(4deg);
  }

  .phone-screen {
    border-radius: 23px;
  }

  .security-float {
    top: -10px;
    right: 0;

    min-width: 165px;

    gap: 8px;

    padding: 7px 9px;

    border-radius: 14px;
  }

  .security-icon {
    width: 32px;
    height: 32px;

    flex-basis: 32px;

    padding: 5px;
  }

  .security-text small {
    font-size: 7.5px;
  }

  .security-text strong {
    font-size: 10.5px;
  }
}


/* =========================================================
   HERO DA HOME - APRESENTACAO DA LP ANTERIOR
   Mantem a demonstracao atual e restaura fundo, tipografia,
   hierarquia e acoes do bloco de conteudo anterior.
   ========================================================= */

.home-page .hero {
  color: #fff;
  background:
    radial-gradient(circle at 72% 32%, rgba(137, 103, 219, .26), transparent 34%),
    var(--purple-dark);
}

.home-page .hero-orbit {
  border-color: rgba(255, 255, 255, .1);
}

.home-page .hero-grid {
  width: min(1320px, calc(100% - 42px));
  grid-template-columns: 1fr .98fr;
  gap: 56px;
}

.home-page .hero-copy {
  align-self: start;
}

.home-page .hero h1 {
  color: #fff;
  font-family: "Plus Jakarta Sans", "Space Grotesk", Nunito, sans-serif;
  font-size: clamp(30px, 3.5vw, 52px);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: 1.04;
}

.home-page .hero .hero-lede {
  color: rgba(255, 255, 255, .74);
}

.home-page .hero .micro-proof {
  color: rgba(255, 255, 255, .6);
}

.home-page .hero .badge {
  color: #e2d6ff;
  background: rgba(255, 255, 255, .1);
}

.home-page .hero-trust {
  display: contents;
}

.home-page .logo-strip {
  position: relative;
  height: 210px;
  overflow: hidden;
  isolation: isolate;
  background: var(--purple-dark);
}

.home-page .logo-strip__viewport {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
}

.home-page .logo-strip__track {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  animation: logo-marquee 34s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
  flex: 0 0 auto;
  width: max-content;
}

.home-page .logo-strip__track li {
  flex: 0 0 auto;
  width: 240px;
  height: 104px;
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg,
      rgba(255, 255, 255, .07) 0%,
      rgba(255, 255, 255, .015) 38%,
      rgba(255, 255, 255, 0) 62%,
      rgba(255, 255, 255, .04) 100%);
  backface-visibility: hidden;
  box-shadow:
    inset 0 1.5px 0 rgba(255, 255, 255, .20),
    inset 0 -1.5px 0 rgba(255, 255, 255, .05),
    0 12px 24px rgba(9, 3, 23, .18);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20240%20104%22%20preserveAspectRatio%3D%22none%22%20shape-rendering%3D%22geometricPrecision%22%3E%3Cpath%20d%3D%22M0%2C34%20C16%2C34%2024%2C6%2070%2C6%20L170%2C6%20C216%2C6%20224%2C34%20240%2C34%20L240%2C70%20C224%2C70%20216%2C98%20170%2C98%20L70%2C98%20C24%2C98%2016%2C70%200%2C70%20Z%22%20fill%3D%22%23ffffff%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E") center/240px 104px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20240%20104%22%20preserveAspectRatio%3D%22none%22%20shape-rendering%3D%22geometricPrecision%22%3E%3Cpath%20d%3D%22M0%2C34%20C16%2C34%2024%2C6%2070%2C6%20L170%2C6%20C216%2C6%20224%2C34%20240%2C34%20L240%2C70%20C224%2C70%20216%2C98%20170%2C98%20L70%2C98%20C24%2C98%2016%2C70%200%2C70%20Z%22%20fill%3D%22%23ffffff%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E") center/240px 104px no-repeat;
}

.home-page .logo-strip__track img {
  display: block;
  width: auto;
  height: 48px;
  filter: brightness(0) invert(1) drop-shadow(0 1px 2px rgba(9, 3, 23, .35));
  opacity: .95;
}

.home-page .logo-strip__track img.logo-dexco {
  height: 36px;
}

.home-page .logo-strip__track img.logo-ag-bndes {
  height: 70px;
}

.home-page .logo-strip__track img.logo-sim-ambiental {
  height: 60px;
}

.home-page .logo-strip:hover .logo-strip__track {
  animation-play-state: paused;
}

@keyframes logo-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-visual .app-window--demo,
  .hero-visual .phone-mockup--demo,
  .hero-visual .security-float {
    animation: none;
  }

  .home-page .logo-strip__track {
    animation: none;
  }
}

@media (min-width: 1081px) {
  .home-page .hero {
    padding-bottom: 96px;
  }

  .home-page .hero .logo-strip {
    position: absolute;
    left: calc(50% - min(1320px, 100% - 42px) / 2 - 26px);
    right: 0;
    bottom: 104px;
    height: 96px;
    z-index: 1;
    background: transparent;
  }

  .home-page .hero .logo-strip__track li {
    height: 74px;
    -webkit-mask-size: 240px 74px;
    mask-size: 240px 74px;
  }

  .home-page .hero .logo-strip__viewport {
    --mockup: calc(50vw - min(1320px, 100vw - 42px) / 2 + 500px);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 calc(100% - var(--mockup) - 20px), transparent calc(100% - var(--mockup) + 70px));
    mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 calc(100% - var(--mockup) - 20px), transparent calc(100% - var(--mockup) + 70px));
  }
}

@media (max-width: 1080px) {
  .home-page .hero-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .home-page .logo-strip {
    height: 170px;
  }

  .home-page .logo-strip__track li {
    width: 168px;
    height: 76px;
    -webkit-mask-size: 168px 76px;
    mask-size: 168px 76px;
  }

  .home-page .logo-strip__track img {
    height: 36px;
  }

  .home-page .logo-strip__track img.logo-dexco {
    height: 27px;
  }

  .home-page .logo-strip__track img.logo-ag-bndes {
    height: 54px;
  }

  .home-page .logo-strip__track img.logo-sim-ambiental {
    height: 46px;
  }
}

@media (max-width: 700px) {
  .home-page .hero-lede {
    display: none;
  }

  .home-page .hero-copy {
    text-align: center;
  }

  .home-page .hero-copy .badge {
    margin-inline: auto;
  }

  .home-page .hero h1 {
    font-size: 29px;
    line-height: 1.16;
    letter-spacing: -.02em;
    text-wrap: balance;
  }

  .home-page .hero-actions {
    flex-direction: column;
  }

  .home-page .hero-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
  }

  .home-page .micro-proof {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: clamp(6px, 2.2vw, 12px);
    margin: 0;
    font-size: clamp(7px, 2.15vw, 10px);
    text-align: center;
  }

  .home-page .micro-proof > * {
    white-space: nowrap;
  }

  .home-page .logo-strip {
    margin-top: -2px;
  }
}

@media (max-width: 560px) {
  .home-page .hero-grid {
    gap: 24px;
  }

  .home-page .hero .badge {
    margin: 0 auto 12px;
    padding: 5px 9px;
    font-size: 9.5px;
  }

  .home-page .hero .badge span {
    width: 16px;
    height: 16px;
  }

  .home-page .hero h1 {
    font-size: clamp(25px, 7vw, 29px);
  }

  .home-page .hero-actions {
    align-items: center;
    gap: 10px;
    margin-top: 20px;
  }

  .home-page .hero-actions .button {
    width: 100%;
    max-width: 330px;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    font-size: 15.5px;
  }
}

/* Hero — aceite digital via WhatsApp. A composição usa a foto em dois
   recortes: a parte interna fica na cápsula e o braço passa à frente. */
.hero-visual--whatsapp {
  width: min(500px, 100%);
  min-height: auto;
  aspect-ratio: 527 / 738;
  margin-left: auto;
  justify-self: end;
  transform: none;
}

.hero-visual--whatsapp::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 8%;
  top: 14%;
  width: 96%;
  height: 88%;
  border-radius: 50%;
  background: radial-gradient(60% 55% at 50% 45%, rgba(155,116,255,.55), rgba(89,50,193,.28) 55%, transparent 78%);
  filter: blur(26px);
}

.hero-visual--whatsapp::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 24%;
  bottom: -1.5%;
  width: 66%;
  height: 8%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(9,3,23,.5), transparent 76%);
  filter: blur(12px);
}

.hero-visual--whatsapp .fig-pill {
  position: absolute;
  z-index: 1;
  left: 22.7%;
  top: 6.4%;
  width: 77.3%;
  height: 92.9%;
  overflow: hidden;
  border-radius: 170px;
  background: linear-gradient(165deg, var(--lilac), var(--purple) 80%);
  box-shadow: 0 42px 70px -18px rgba(9,3,23,.55), 0 14px 26px -10px rgba(9,3,23,.4), inset 0 1px rgba(255,255,255,.22);
}

.hero-visual--whatsapp .fig-photo-masked {
  position: absolute;
  left: -80.2%;
  top: -6.9%;
  width: 224.6%;
  height: 106.9%;
  max-width: none;
}

.hero-visual--whatsapp .fig-photo-cut {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 96.8%;
  height: 84.2%;
  background: url(../../assets/images/lpelevasign1.png) 51.262% 0 / 179.25% 118.122% no-repeat;
}

.hero-visual--whatsapp .fig-circle { position: absolute; border-radius: 50%; }
.hero-visual--whatsapp .fig-circle-a { left: 29.8%; top: .7%; width: 29.6%; aspect-ratio: 1; background: var(--pink); opacity: .16; }
.hero-visual--whatsapp .fig-circle-b { left: 79.9%; top: 87.9%; width: 17%; aspect-ratio: 1; background: var(--green); opacity: .16; }
.hero-visual--whatsapp .fig-dash { position: absolute; height: 3px; border-radius: 3px; transform: rotate(-45deg); }
.hero-visual--whatsapp .fig-dash-a { left: 4%; top: 12%; width: 52px; background: linear-gradient(90deg, var(--lilac), var(--pink)); }
.hero-visual--whatsapp .fig-dash-b { left: 86%; top: 3%; width: 30px; background: var(--green); opacity: .8; }

.hero-visual--whatsapp .security-float {
  position: absolute;
  z-index: 5;
  top: auto;
  right: -9%;
  bottom: 5%;
  min-width: 0;
  padding: 12px 18px 12px 12px;
  gap: 12px;
  border: 1px solid rgba(137,103,219,.2);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 15px 40px rgba(89,50,193,.12);
  backdrop-filter: blur(15px);
  scale: .88;
  transform-origin: 100% 100%;
  animation: heroSealFloat 4.5s ease-in-out infinite;
}
.hero-visual--whatsapp .security-icon { width: 48px; height: 48px; flex: 0 0 48px; padding: 0; }
.hero-visual--whatsapp .security-icon img { width: 28px; height: 28px; filter: brightness(0) invert(1); }
.hero-visual--whatsapp .security-text { gap: 0; }
.hero-visual--whatsapp .security-text small { font-size: 10px; }
.hero-visual--whatsapp .security-text strong { font-family: "Plus Jakarta Sans", sans-serif; font-size: 16px; }

@keyframes heroSealFloat { 50% { transform: translateY(-9px); box-shadow: 0 22px 32px -10px rgba(63,35,123,.24); } }

.hero-visual--whatsapp .wa-float {
  position: absolute;
  z-index: 4;
  inset: 9.5% 18.4% 0 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  --wa-scale: .60;
}
.hero-visual--whatsapp .wa-chat {
  display: flex;
  flex-direction: column;
  width: 340px;
  gap: 10px;
  transform: perspective(850px) translateZ(70px) rotateX(13deg) rotateY(24deg) rotate(-23deg) scale(var(--wa-scale));
  filter: drop-shadow(0 8px 10px rgba(14,4,38,.45)) drop-shadow(0 30px 44px rgba(14,4,38,.55));
  font-family: Arial, sans-serif;
}
.hero-visual--whatsapp .wa-msg, .hero-visual--whatsapp .wa-reply { width: 340px; }
.hero-visual--whatsapp .wa-msg { display: flex; flex-direction: column; gap: 4px; }
.hero-visual--whatsapp .wa-msg__bubble { position: relative; padding: 8px 10px 6px; border-radius: 8px 8px 8px 0; background: #fff; transform-origin: 0 0; transform: matrix3d(.96296296,-.03398693,0,-.00010893,0,1,0,0,0,0,1,0,0,0,0,1); }
.hero-visual--whatsapp .wa-msg__bubble::after { content: ""; position: absolute; left: -7px; bottom: 0; width: 8px; height: 13px; background: #fff; clip-path: polygon(100% 0,100% 100%,0 100%); }
.hero-visual--whatsapp .wa-msg__title { margin: 0 0 8px; color: #111b21; font-size: 14.5px; font-weight: 700; }
.hero-visual--whatsapp .wa-msg__text { margin: 0 0 9px; color: #111b21; font-size: 14.2px; line-height: 1.48; }
.hero-visual--whatsapp .wa-msg a { color: #128c7e; text-decoration: underline; }
.hero-visual--whatsapp .wa-msg__footer { display: flex; justify-content: space-between; gap: 12px; color: #667781; font-size: 12.4px; }
.hero-visual--whatsapp .wa-msg__actions { display: flex; flex-direction: column; gap: 4px; }
.hero-visual--whatsapp .wa-msg__btn { width: 100%; padding: 10px 14px; border: 0; border-radius: 8px; background: #fff; color: #128c7e; font: 16px Arial, sans-serif; cursor: default; }
.hero-visual--whatsapp .wa-reply { display: flex; justify-content: flex-end; transform: translateX(38px) perspective(600px) translateZ(30px) rotateX(6deg) rotateY(8deg) rotate(-1.5deg) scale(.92); }
.hero-visual--whatsapp .wa-reply__bubble { position: relative; max-width: 300px; padding: 4px 8px 6px 6px; border-radius: 8px 8px 0 8px; background: #d9fdd3; transform-origin: 0 0; transform: matrix3d(.88235294,0,0,-.00039216,0,1,0,0,0,0,1,0,0,0,0,1); }
.hero-visual--whatsapp .wa-reply__quote { position: relative; margin-bottom: 4px; padding: 6px 8px 7px 10px; border-radius: 5px; background: rgba(4,20,4,.055); overflow: hidden; }
.hero-visual--whatsapp .wa-reply__quote::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: #6a4ff5; }
.hero-visual--whatsapp .wa-reply__sender, .hero-visual--whatsapp .wa-reply__quote-title { display: block; color: #6a4ff5; font-size: 13.5px; font-weight: 700; }
.hero-visual--whatsapp .wa-reply__quote-title { margin-top: 2px; color: #1f2c19; }
.hero-visual--whatsapp .wa-reply__quote-body { display: -webkit-box; overflow: hidden; margin-top: 2px; color: #3b4a35; font-size: 13.2px; line-height: 1.38; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.hero-visual--whatsapp .wa-reply__line { display: flex; align-items: flex-end; gap: 8px; padding: 0 2px 0 4px; }
.hero-visual--whatsapp .wa-reply__text { flex: 1; color: #111b21; font-size: 16px; font-weight: 600; }
.hero-visual--whatsapp .wa-reply__meta { display: flex; align-items: center; gap: 3px; color: #53bdeb; font-size: 12px; }
.hero-visual--whatsapp .wa-msg__bubble, .hero-visual--whatsapp .wa-msg__btn, .hero-visual--whatsapp .wa-reply__bubble { box-shadow: 0 1px 2px rgba(11,20,26,.22); }
.hero-visual--whatsapp .wa-msg, .hero-visual--whatsapp .wa-reply { animation: heroWhatsappBob 5.2s ease-in-out infinite; }
.hero-visual--whatsapp .wa-reply { animation-duration: 4.3s; animation-delay: -1.6s; }
@keyframes heroWhatsappBob { 50% { translate: 0 -8px; } }

@media (max-width: 1080px) {
  .hero-visual--whatsapp { width: min(420px, 100%); margin: -18px auto 0; }
  .hero-visual--whatsapp .wa-float { --wa-scale: .55; }
}
@media (max-width: 640px) {
  .hero-visual--whatsapp { width: min(312px, 100%); }
  .hero-visual--whatsapp .fig-pill { border-radius: 126px; }
  .hero-visual--whatsapp .wa-float { --wa-scale: .42; }
  .hero-visual--whatsapp .wa-msg__text--link { display: none; }
  .hero-visual--whatsapp .wa-chat { transform: translateX(-58px) perspective(800px) translateZ(55px) rotateX(10deg) rotateY(18deg) rotate(-20deg) scale(var(--wa-scale)); }
  .hero-visual--whatsapp .wa-reply { transform: translateX(48px) perspective(600px) translateZ(22px) rotateX(5deg) rotateY(6deg) rotate(-1.5deg) scale(.92); }
  .hero-visual--whatsapp .security-float { top: 12%; right: -12%; bottom: auto; scale: .74; transform-origin: 100% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-visual--whatsapp .wa-msg, .hero-visual--whatsapp .wa-reply, .hero-visual--whatsapp .security-float { animation: none; }
}
