/* ===== HB Mini Entulho — Landing Page ===== */

:root{
  --bg: #131417;         /* grafite escuro */
  --bg-2: #1a1c20;       /* seção alternada */
  --bg-3: #101114;       /* faixas mais escuras */
  --panel: #1e2126;      /* cartões */
  --panel-2: #23272d;    /* cartão hover */
  --ink: #f4f5f7;
  --ink-dim: #b6bcc4;
  --ink-faint: #7f8791;
  --red: #e01f26;
  --red-deep: #b1141a;
  --red-glow: rgba(224,31,38,.35);
  --silver: #cfd4d9;
  --silver-2: #9aa1a8;
  --green: #2e9e3f;      /* SÓ INEA */
  --wa: #25d366;
  --wa-deep: #128c3e;
  --line: rgba(255,255,255,.09);
  --line-strong: rgba(255,255,255,.16);
  --head: 'Oswald', sans-serif;
  --body: 'Inter', system-ui, sans-serif;
  --ease: cubic-bezier(.16,.84,.24,1);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--ink); font-family:var(--body);
  overflow-x:hidden; -webkit-font-smoothing:antialiased; line-height:1.5;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3{font-family:var(--head); font-weight:600; line-height:1.02; text-transform:uppercase;}
.txt-red{color:var(--red);}

.eyebrow{
  display:inline-block; font-family:var(--body); font-size:.74rem; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; color:var(--red);
  padding:.4rem .9rem; border:1px solid rgba(224,31,38,.35); border-radius:999px; margin-bottom:1.1rem;
}

/* noise + progress */
.noise{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.04; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
#scrollProgress{position:fixed; top:0; left:0; height:3px; width:0; z-index:100; background:linear-gradient(90deg, var(--red-deep), var(--red));}

/* custom cursor (bolinha) */
.cursor-dot,.cursor-ring{position:fixed; top:0; left:0; z-index:120; pointer-events:none; border-radius:50%; opacity:0; transition:opacity .3s;}
.cursor-dot{width:8px; height:8px; margin:-4px 0 0 -4px; background:var(--red); box-shadow:0 0 12px rgba(224,31,38,.7);}
.cursor-ring{width:36px; height:36px; margin:-18px 0 0 -18px; border:1.5px solid rgba(224,31,38,.7); transition:opacity .3s, width .25s var(--ease), height .25s var(--ease), margin .25s var(--ease), background .25s, border-color .25s;}
.cursor-ring.is-hover{width:58px; height:58px; margin:-29px 0 0 -29px; background:rgba(224,31,38,.12); border-color:var(--red);}
html.has-cursor .cursor-dot,html.has-cursor .cursor-ring{opacity:1;}
html.has-cursor, html.has-cursor a, html.has-cursor button, html.has-cursor .btn{cursor:none;}

/* ===== buttons ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--head); font-weight:600; text-transform:uppercase; letter-spacing:.03em;
  font-size:.95rem; padding:.85rem 1.5rem; border-radius:10px; cursor:pointer;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s; white-space:nowrap;
}
.ico-wa{width:20px; height:20px; fill:currentColor; flex:0 0 auto;}
.btn--wa{background:linear-gradient(135deg, var(--wa), var(--wa-deep)); color:#04220f; box-shadow:0 10px 26px -10px rgba(37,211,102,.6);}
.btn--wa:hover{transform:translateY(-3px); box-shadow:0 16px 34px -10px rgba(37,211,102,.7);}
.btn--ghost{border:1px solid var(--line-strong); color:var(--ink); background:rgba(255,255,255,.02);}
.btn--ghost:hover{border-color:var(--red); background:rgba(224,31,38,.1); transform:translateY(-3px);}
.btn--dark{background:#0f1013; color:var(--ink); border:1px solid var(--line-strong);}
.btn--dark:hover{border-color:var(--red); transform:translateY(-3px);}
.btn--lg{padding:1rem 1.8rem; font-size:1rem;}
.btn--xl{padding:1.2rem 2.4rem; font-size:1.15rem;}
.btn--block{width:100%;}

/* ===== NAV ===== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:90;
  display:flex; align-items:center; gap:1.5rem;
  padding:1rem clamp(1rem,4vw,3rem);
  transition:background .4s, backdrop-filter .4s, border-color .4s, padding .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{background:rgba(16,17,20,.82); backdrop-filter:blur(14px); border-color:var(--line); padding-top:.7rem; padding-bottom:.7rem;}
.nav__brand{display:flex; align-items:center; margin-right:auto;}
.nav__logo{height:44px; width:auto; object-fit:contain; transition:height .4s;}
.nav.scrolled .nav__logo{height:38px;}
.nav__links{display:flex; gap:1.8rem; font-size:.9rem; font-weight:500; color:var(--ink-dim);}
.nav__links a{position:relative; padding:.3rem 0;}
.nav__links a::after{content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--red); transform:scaleX(0); transform-origin:right; transition:transform .3s var(--ease);}
.nav__links a:hover{color:#fff;}
.nav__links a:hover::after{transform:scaleX(1); transform-origin:left;}
.nav__cta{padding:.6rem 1.1rem; font-size:.85rem;}
.nav__burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px;}
.nav__burger span{width:24px; height:2px; background:#fff; border-radius:2px; transition:.3s;}

@media (max-width: 920px){
  .nav__links{
    position:fixed; inset:0 0 auto 0; top:0; flex-direction:column; gap:0;
    background:rgba(16,17,20,.97); backdrop-filter:blur(16px); padding:5.5rem 2rem 2rem;
    transform:translateY(-100%); transition:transform .45s var(--ease); border-bottom:1px solid var(--line);
  }
  .nav__links.open{transform:translateY(0);}
  .nav__links a{padding:1rem 0; font-size:1.1rem; border-bottom:1px solid var(--line); width:100%;}
  .nav__cta{display:none;}
  .nav__burger{display:flex; margin-left:auto;}
  .nav__burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav__burger.open span:nth-child(2){opacity:0;}
  .nav__burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}

/* ===== HERO ===== */
.hero{position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:7rem clamp(1rem,5vw,4rem) 4rem; overflow:hidden;
  background:radial-gradient(ellipse at 70% 30%, #241012 0%, var(--bg) 55%);}
.hero::after{content:''; position:absolute; inset:auto 0 0 0; height:42%; z-index:0; pointer-events:none;
  background-image:url('../assets/img/rubble-bg.png');
  background-size:cover; background-position:center bottom; opacity:.12;
  mask-image:linear-gradient(to top, #000, transparent); -webkit-mask-image:linear-gradient(to top, #000, transparent);}
.hero__grid-bg{
  position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:54px 54px; mask-image:radial-gradient(ellipse at 60% 40%, #000 30%, transparent 75%); -webkit-mask-image:radial-gradient(ellipse at 60% 40%, #000 30%, transparent 75%);}
.hero__glow{position:absolute; top:-10%; right:-5%; width:70%; height:80%; pointer-events:none;
  background:radial-gradient(ellipse at center, var(--red-glow), transparent 62%); filter:blur(10px);}
.hero__inner{position:relative; z-index:3; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:3rem; max-width:1300px; margin:0 auto; width:100%;}

.pill{display:inline-flex; align-items:center; gap:.5rem; font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-dim); padding:.45rem .9rem; border:1px solid var(--line-strong); border-radius:999px; margin-bottom:1.4rem;}
.pill__dot{width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 0 0 var(--red-glow); animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(224,31,38,.5);} 70%{box-shadow:0 0 0 10px rgba(224,31,38,0);} 100%{box-shadow:0 0 0 0 rgba(224,31,38,0);}}

.hero__title{font-size:clamp(2.5rem, 6.2vw, 5.2rem); line-height:1.12; letter-spacing:.005em; display:flex; flex-direction:column; gap:.06em;}
.hero__title span{display:block;}
.hero__title .hl{color:var(--red);}
.hero__sub{margin-top:1.6rem; max-width:46ch; color:var(--ink-dim); font-size:1.1rem; line-height:1.65;}
.hero__sub b{color:#fff; font-weight:600;}
.hero__actions{display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.2rem;}
.hero__meta{display:flex; gap:2.5rem; margin-top:2.6rem;}
.hero__meta-item{display:flex; flex-direction:column;}
.hero__meta-item b{font-family:var(--head); font-size:1.9rem; color:#fff; line-height:1;}
.hero__meta-item span{font-size:.78rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.06em; margin-top:.3rem;}

/* hero art — real worker photo */
.hero__art{position:relative; justify-self:center; width:min(480px,90vw); aspect-ratio:544/680;}
@keyframes floatY{0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);}}
.hero__worker{position:relative; z-index:3; width:100%; height:auto; filter:drop-shadow(0 30px 40px rgba(0,0,0,.6)); animation:floatY 6s ease-in-out infinite; will-change:transform;}
.hero__spot{position:absolute; top:6%; left:50%; transform:translateX(-50%); width:96%; aspect-ratio:1; z-index:1; pointer-events:none;
  background:radial-gradient(circle at 50% 45%, rgba(224,31,38,.5), rgba(224,31,38,.12) 42%, transparent 66%); filter:blur(6px);}
.hero__spot::after{content:''; position:absolute; inset:8%; border:1px dashed rgba(224,31,38,.35); border-radius:50%; animation:spin 30s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.hero__floor{position:absolute; bottom:5%; left:50%; transform:translateX(-50%); width:74%; height:34px; z-index:2; pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.55), transparent 70%); filter:blur(3px);}

.inea-badge{position:absolute; bottom:14%; right:-4%; z-index:4; display:flex; align-items:center; gap:.6rem; background:rgba(16,17,20,.92); border:1px solid rgba(46,158,63,.45); border-radius:12px; padding:.55rem .85rem; box-shadow:0 18px 40px -18px rgba(0,0,0,.7); backdrop-filter:blur(8px);}
.inea-badge__seal{width:34px; height:34px; object-fit:contain;}
.inea-badge b{display:block; font-family:var(--head); font-size:.95rem; color:#fff; line-height:1;}
.inea-badge span{font-size:.68rem; color:var(--green); text-transform:uppercase; letter-spacing:.1em;}
.hero__chip{position:absolute; z-index:4; font-family:var(--head); font-size:.82rem; letter-spacing:.03em; text-transform:uppercase; color:#fff; background:rgba(16,17,20,.9); border:1px solid var(--line-strong); border-radius:999px; padding:.45rem .9rem; box-shadow:0 12px 30px -14px rgba(0,0,0,.7); backdrop-filter:blur(6px); white-space:nowrap;}
.hero__chip::before{content:'✓'; color:var(--wa); font-weight:800; margin-right:.4rem;}
.chip-1{top:16%; left:-8%;}
.chip-2{top:44%; right:-6%;}
.float{animation:floatY 5s ease-in-out infinite .5s;}

.hero__scroll{position:absolute; bottom:1.6rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.5rem; font-family:var(--head); font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; color:var(--ink-faint); z-index:3;}
.hero__scroll i{width:1px; height:34px; background:linear-gradient(var(--red), transparent); animation:scrollLine 2s ease-in-out infinite;}
@keyframes scrollLine{0%{transform:scaleY(0); transform-origin:top; opacity:0;} 45%{transform:scaleY(1); transform-origin:top; opacity:1;} 100%{transform:scaleY(1); transform-origin:bottom; opacity:0;}}

@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr; text-align:center;}
  .hero__title{align-items:center;} .hero__sub{margin-inline:auto;}
  .hero__actions,.hero__meta{justify-content:center;}
  .hero__art{margin:0 auto 1rem; order:-1; width:min(340px,78vw);}
  .inea-badge{right:0; bottom:16%;}
  .hero__chip{display:none;}
  .hero__meta{gap:1.6rem;}
}

/* ===== MARQUEE ===== */
.marquee{background:var(--red); overflow:hidden; padding:.9rem 0; border-top:2px solid rgba(0,0,0,.15); border-bottom:2px solid rgba(0,0,0,.15);}
.marquee__track{display:flex; align-items:center; gap:2rem; width:max-content; animation:marquee 24s linear infinite; font-family:var(--head); font-weight:600; font-size:1.15rem; letter-spacing:.06em; text-transform:uppercase; color:#fff;}
.marquee__track i{color:rgba(255,255,255,.55); font-style:normal; font-size:.7rem;}
@keyframes marquee{to{transform:translateX(-50%);}}

/* ===== section head ===== */
.section-head{max-width:1200px; margin:0 auto 3.4rem; padding-inline:clamp(1rem,5vw,4rem); text-align:center;}
.section-head h2{font-size:clamp(2rem,4.5vw,3.4rem);}

/* ===== VANTAGENS ===== */
.adv{padding:7rem 0;}
.adv__grid{max-width:1200px; margin:0 auto; padding-inline:clamp(1rem,5vw,4rem); display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem;}
.adv-card{position:relative; padding:2.6rem 1.9rem 2.4rem; border:1px solid var(--line); border-radius:18px; background:var(--panel); overflow:hidden; transition:transform .4s var(--ease), border-color .4s, background .4s;}
.adv-card::before{content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--red), transparent); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);}
.adv-card:hover{transform:translateY(-8px); border-color:var(--line-strong); background:var(--panel-2);}
.adv-card:hover::before{transform:scaleX(1);}
.adv-card__num{display:block; font-family:var(--head); font-weight:700; font-size:1.15rem; letter-spacing:.05em; color:var(--red); margin-bottom:1.2rem; position:relative; padding-bottom:1rem;}
.adv-card__num::after{content:''; position:absolute; left:0; bottom:0; width:34px; height:2px; background:var(--red); transition:width .45s var(--ease);}
.adv-card:hover .adv-card__num::after{width:56px;}
.adv-card h3{font-size:1.55rem; line-height:1.12; margin-bottom:.9rem; color:#fff;}
.adv-card p{color:var(--ink-dim); font-size:1rem; line-height:1.7;}
.adv-card p b{color:#fff;}
@media (max-width:980px){ .adv__grid{grid-template-columns:1fr 1fr;} }
@media (max-width:540px){ .adv__grid{grid-template-columns:1fr;} }

/* ===== COMO FUNCIONA ===== */
.how{position:relative; padding:7rem 0; background:var(--bg-2); overflow:hidden;}
.how__glow{position:absolute; bottom:-20%; left:-10%; width:60%; height:80%; background:radial-gradient(ellipse,var(--red-glow),transparent 65%); pointer-events:none; filter:blur(10px);}
.how__inner{position:relative; max-width:1200px; margin:0 auto; padding-inline:clamp(1rem,5vw,4rem); display:grid; grid-template-columns:1.05fr .95fr; gap:4rem; align-items:center;}
.how__text h2{font-size:clamp(2rem,4.5vw,3.4rem); margin-bottom:1.2rem;}
.how__text > p{color:var(--ink-dim); font-size:1.05rem; line-height:1.65; max-width:46ch; margin-bottom:1.8rem;}
.how__list{list-style:none; display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem;}
.how__list li{position:relative; padding-left:3.2rem; color:var(--ink-dim); line-height:1.5;}
.how__list li b{color:#fff;}
.how__list li::before{content:counter(step,decimal-leading-zero); counter-reset:none; content:"0" counter(li); position:absolute; left:0; top:-2px; font-family:var(--head); font-size:1.1rem; font-weight:700; color:var(--red); width:2.2rem; height:2.2rem; display:flex; align-items:center; justify-content:center; border:1px solid rgba(224,31,38,.4); border-radius:8px;}
.how__list{counter-reset:li;}
.how__list li{counter-increment:li;}
.how__stats{display:grid; grid-template-columns:1fr 1fr; gap:1.1rem;}
.stat-tile{padding:1.8rem 1.4rem; border:1px solid var(--line); border-radius:16px; background:var(--panel); transition:transform .4s var(--ease), border-color .4s;}
.stat-tile:hover{transform:translateY(-6px); border-color:var(--line-strong);}
.stat-tile--red{background:linear-gradient(150deg, var(--red-deep), #7d0f14); border-color:transparent;}
.stat-tile__num{display:flex; align-items:baseline; gap:.1rem; font-family:var(--head); font-weight:700; font-size:2.6rem; color:#fff; line-height:1;}
.stat-tile__unit{font-size:1rem; margin-left:.3rem; color:var(--ink-dim); text-transform:uppercase;}
.stat-tile__lbl{display:block; margin-top:.6rem; font-size:.85rem; color:var(--ink-faint); }
.stat-tile--red .stat-tile__lbl{color:rgba(255,255,255,.8);}
@media (max-width:900px){ .how__inner{grid-template-columns:1fr;} }

/* ===== PARA QUEM ===== */
.who{padding:7rem 0;}
.who__grid{max-width:1200px; margin:0 auto; padding-inline:clamp(1rem,5vw,4rem); display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem;}
.who-card{padding:2rem 1.6rem; border:1px solid var(--line); border-radius:16px; background:var(--panel); transition:transform .4s var(--ease), border-color .4s, background .4s;}
.who-card:hover{transform:translateY(-8px); border-color:var(--red); background:var(--panel-2);}
.who-card__tag{display:inline-block; font-family:var(--head); font-size:1.25rem; color:#fff; padding-bottom:.7rem; margin-bottom:.9rem; border-bottom:2px solid var(--red);}
.who-card p{color:var(--ink-dim); font-size:.95rem; line-height:1.6;}
@media (max-width:980px){ .who__grid{grid-template-columns:1fr 1fr;} }
@media (max-width:540px){ .who__grid{grid-template-columns:1fr;} }

/* ===== PREÇOS ===== */
.pricing{position:relative; padding:7rem 0; background:var(--bg-2); overflow:hidden;}
.pricing__glow{position:absolute; top:-10%; right:-8%; width:55%; height:70%; background:radial-gradient(ellipse,var(--red-glow),transparent 65%); pointer-events:none; filter:blur(10px);}
.pricing__grid{position:relative; max-width:900px; margin:0 auto; padding-inline:clamp(1rem,5vw,4rem); display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:stretch;}
.price-card{position:relative; padding:2.4rem 2rem; border:1px solid var(--line); border-radius:20px; background:var(--panel); display:flex; flex-direction:column; transition:transform .4s var(--ease), border-color .4s;}
.price-card:hover{transform:translateY(-8px);}
.price-card--feat{border-color:var(--red); background:linear-gradient(170deg, #23181a, var(--panel)); box-shadow:0 30px 60px -30px var(--red-glow);}
.price-card__ribbon{position:absolute; top:1.4rem; right:1.4rem; font-family:var(--head); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--red); padding:.3rem .7rem; border-radius:6px;}
.price-card__name{font-family:var(--head); font-size:1.1rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-dim);}
.price-card__value{font-family:var(--head); font-weight:700; font-size:4rem; color:#fff; line-height:1; margin:.6rem 0 .4rem; display:flex; align-items:flex-start; gap:.15rem;}
.price-card__value .cur{font-size:1.6rem; margin-top:.4rem; color:var(--silver);}
.price-card__value .per{font-size:1.3rem; margin-top:.8rem; color:var(--ink-faint);}
.price-card__note{font-size:.78rem; color:var(--ink-faint); line-height:1.4; margin-bottom:1.4rem;}
.price-card__list{list-style:none; display:flex; flex-direction:column; gap:.8rem; margin-bottom:1.8rem; flex:1;}
.price-card__list li{position:relative; padding-left:1.8rem; font-size:.92rem; color:var(--ink-dim);}
.price-card__list li::before{position:absolute; left:0; top:0; font-weight:800; font-size:.9rem;}
.price-card__list li.ok::before{content:'✓'; color:var(--wa);}
.price-card__list li.no{color:var(--ink-faint);}
.price-card__list li.no::before{content:'✕'; color:var(--red);}
.pricing__fine{text-align:center; margin-top:1.6rem; font-size:.8rem; color:var(--ink-faint);}
@media (max-width:700px){ .pricing__grid{grid-template-columns:1fr; max-width:420px;} }

/* ===== CTA ===== */
.cta{position:relative; padding:8rem 0; text-align:center; overflow:hidden; background:var(--bg-3);}
.cta__glow{position:absolute; inset:0; margin:auto; width:70%; height:80%; background:radial-gradient(ellipse at center,var(--red-glow),transparent 62%); pointer-events:none; filter:blur(10px);}
.cta__inner{position:relative; max-width:760px; margin:0 auto; padding-inline:1.4rem;}
.cta h2{font-size:clamp(2.2rem,5.5vw,4rem); margin-bottom:1rem;}
.cta p{color:var(--ink-dim); font-size:1.1rem; margin-bottom:2.2rem;}
.cta__contacts{margin-top:2rem; display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; align-items:center; font-size:.9rem; color:var(--ink-faint);}
.cta__contacts a:hover{color:var(--red);}

/* ===== FOOTER ===== */
.footer{display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; padding:2rem clamp(1rem,5vw,4rem); background:var(--bg-3); border-top:1px solid var(--line); font-size:.82rem; color:var(--ink-faint);}
.footer__brand{display:flex; align-items:center; gap:.8rem;}
.footer__logo{width:38px; height:38px; border-radius:7px;}
.footer__by b{color:var(--silver);}

/* ===== sticky WA ===== */
.wa-float{position:fixed; bottom:1.4rem; right:1.4rem; z-index:80; width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--wa),var(--wa-deep)); box-shadow:0 12px 30px -8px rgba(37,211,102,.6); transition:transform .3s var(--ease);}
.wa-float svg{width:32px; height:32px; fill:#fff;}
.wa-float::after{content:''; position:absolute; inset:0; border-radius:50%; border:2px solid var(--wa); animation:waPing 2.4s ease-out infinite;}
@keyframes waPing{0%{transform:scale(1); opacity:.7;} 100%{transform:scale(1.6); opacity:0;}}
.wa-float:hover{transform:scale(1.08);}

/* ===== reveals ===== */
.reveal{opacity:0; transform:translateY(22px); animation:reveal 1s var(--ease) forwards; animation-delay:calc(var(--d,0)*.12s + .1s);}
@keyframes reveal{to{opacity:1; transform:none;}}
.reveal-scroll{opacity:0; transform:translateY(42px); transition:opacity 1s var(--ease), transform 1s var(--ease); transition-delay:calc(var(--d,0)*.1s);}
.reveal-scroll.is-visible{opacity:1; transform:none;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
}
